沃梦达 / 编程问答 / php问题 / 正文

基于搜索值部分匹配的过滤多维数组

Filter multidimensional array based on partial match of search value(基于搜索值部分匹配的过滤多维数组)

本文介绍了基于搜索值部分匹配的过滤多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找给定此数组的函数:

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。您可以提供一个回调,该回调决定哪些元素保留在数组中,哪些应该删除。(回调的返回值false表示应该删除给定的元素。)类似以下内容:

$search_text = 'Bread';

array_filter($array, function($el) use ($search_text) {
        return ( strpos($el['text'], $search_text) !== false );
    });

有关详细信息:

  • array_filter
  • strpos return values

这篇关于基于搜索值部分匹配的过滤多维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:基于搜索值部分匹配的过滤多维数组