基于搜索值的部分匹配来过滤多维数组
过滤多维数组通常会带来挑战,尤其是在搜索部分匹配时。本文介绍了一种使用 array_filter 高效过滤数组的方法,以查找文本与给定搜索值部分匹配的元素。
考虑以下示例:
$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' ] ];
让我们过滤此数组针“面包”:
$search_text = 'Bread'; $filtered_array = array_filter($array, function($el) use ($search_text) { return (strpos($el['text'], $search_text) !== false); });
结果将是以下:
[ [ 'text' => 'I like Apples and Bread', 'id' => '283923' ], [ 'text' => 'I like Apples, Bread, and Cheese', 'id' => '3384823' ] ];
此解决方案利用 array_filter 传递回调函数,该函数使用 strpos 检查每个元素的文本值是否与 $search_text 部分匹配。
以上是如何在 PHP 中使用部分字符串匹配有效过滤多维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!