是否有一个函数可以在数组中搜索它是否包含文本的一部分 就像jquery(':contains')
一样然后返回它所在的索引:) 这是一个帮助您想象它的例子:)
$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);
如果递归可以是一个加号:)
答案 0 :(得分:3)
不,你必须编写一个自定义函数来匹配子字符串:
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;
}