PHP选择索引,其中,数组包含

问题描述:

是有一个函数在那里一个数组中进行搜索,如果它包含一个文本 就像jQuery的一部分(“:包含”)PHP选择索引,其中,数组包含

,然后返回它的索引在:) 这里有一个例子,以帮助您直观吧:)

$arr = array(
    [0] => 'hello world', 
    [1] => 'foo', 
    [2] => 'bar', 
); 
$a = arr_contains('o',$arr); //returns array(1,0); 
$b = arr_contains('fo',$arr);//return array(1); 
$c = arr_contains('a',$arr);//return array(2); 
$d = arr_contains('hello',$arr);//return array(0); 

如果递归可以做到将是一个加号:)

不,你将不得不编写自定义功能通过匹配子串:

function arr_contains($str, $arr) { 
    $ret = array(); 
    foreach ($arr as $k => $v) { 
     if (is_array($v)) { 
      if ($subarr = arr_contains($str, $v)) { 
       $ret[] = $subarr; 
      } 
     } else if (strpos($v, $str) !== false) { 
      $ret[] = $k; 
     } 
    } 
    return $ret; 
}