首页 > 后端开发 > php教程 > 如何在 PHP 中使用部分字符串匹配来过滤多维数组?

如何在 PHP 中使用部分字符串匹配来过滤多维数组?

Patricia Arquette
发布: 2024-12-02 14:51:12
原创
649 人浏览过

How to Filter a Multidimensional Array in PHP Using Partial String Matching?

基于部分匹配过滤多维数组

在此编程任务中,我们向您展示一个场景,您需要一个函数来过滤基于搜索值的部分匹配的多维数组。考虑给定的数组:

array(
 [0] =>
  array(
   ['text'] =>'I like Apples'
   ['id'] =>'102923'
 )
 [1] =>
  array(
   ['text'] =>'I like Apples and Bread'
   ['id'] =>'283923'
 )
 [2] =>
  array(
  ['text'] =>'I like Apples, Bread, and Cheese'
  ['id'] =>'3384823'
 )
 [3] =>
  array(
  ['text'] =>'I like Green Eggs and Ham'
  ['id'] =>'4473873'
 ) 
etc.. 
登录后复制

我们寻求在数组中搜索针“面包”并获得以下结果:

[1] =>
  array(
   ['text'] =>'I like Apples and Bread'
   ['id'] =>'283923'
 )
 [2] =>
  array(
  ['text'] =>'I like Apples, Bread, and Cheese'
  ['id'] =>'3384823'
登录后复制

为了实现这一点,我们利用 array_filter函数,它允许我们定义一个回调,根据给定的条件确定要保留在数组中的元素。在这种情况下,如果“text”字段包含 search_text,我们将返回 true,表示应保留该元素。返回值 false 将删除该元素。

实现如下所示:

$search_text = 'Bread';

$filtered_array = array_filter($array, function($el) use ($search_text) {
    return ( strpos($el['text'], $search_text) !== false );
});
登录后复制

通过实现此方法,您可以有效过滤多维数组并仅返回部分匹配的元素您指定的搜索值。如需进一步指导,请参阅以下资源:

  • [PHP array_filter](https://www.php.net/manual/en/function.array-filter.php)
  • [PHP strpos 返回值](https://www.php.net/manual/en/function.strpos.php)

以上是如何在 PHP 中使用部分字符串匹配来过滤多维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板