【问题标题】:Search multidimensional array that contains both 2 needles using php使用php搜索包含两个针的多维数组
【发布时间】:2019-04-16 06:57:30
【问题描述】:

我需要搜索一个数组,返回包含我正在搜索的两个值的所有元素,如下所示:

$arr = array(
    0 => array(
        'name' => 'Joel first',
        'title' => 'teacher',
    ),
    1 => array(
        'name' => 'Joel second',
        'title' => 'teacher',
    ),
    2 => array(
        'name' => 'Jhon first',
        'title' => 'teacher',
    )
);

我想搜索包含 Joel 之类的名称和 teacher 之类的标题的所有元素,类似于 mysql 搜索,例如:

SELECT * FROM table WHERE name like 'Joel%' AND title = 'teacher'

【问题讨论】:

    标签: php elasticsearch search multidimensional-array


    【解决方案1】:

    您需要使用array_filter()来过滤数组的项目。

    $newArr = array_filter($arr, function($val){
        return substr($val['name'], 0, 4) == 'Joel' && $val['title'] == 'teacher';
    });
    

    检查结果在demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-24
      • 2014-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      • 1970-01-01
      • 2017-01-13
      相关资源
      最近更新 更多