根據搜尋值的部分匹配來過濾多維數組
在某些場景下,需要根據搜尋值的部分匹配來過濾存儲在多維數組中的資料指定搜尋值的部分匹配。
假設我們有一個結構為的數組如下:
$array = [ [ 'text' => 'I like Apples', 'id' => '102923' ], [ 'text' => 'I like Apples and Bread', 'id' => '283923' ], [ 'text' => 'I like Apples, Bread, and Cheese', 'id' => '3384823' ], [ 'text' => 'I like Green Eggs and Ham', 'id' => '4473873' ] ];
假設我們要搜尋特定的針,例如「麵包」。要過濾數組並檢索包含部分匹配的元素,我們可以利用 array_filter 函數。
$search_text = 'Bread'; $filtered_array = array_filter($array, function($element) use ($search_text) { return (strpos($element['text'], $search_text) !== false); });
array_filter 函數接受兩個參數:輸入陣列和回呼函數。回調函數負責評估是否應保留或從陣列中刪除每個元素。在我們的例子中,回呼函數檢查元素的「文字」欄位是否包含指定的搜尋詞。如果是,則傳回 true,表示應保留該元素。
執行後,filtered_array 將包含以下元素:
[ [ 'text' => 'I like Apples and Bread', 'id' => '283923' ], [ 'text' => 'I like Apples, Bread, and Cheese', 'id' => '3384823', ] ]
此方法有效過濾多維數組,並傳回僅滿足部分符合條件的元素。
以上是如何在 PHP 中使用部分字串匹配來過濾多維數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!