php select index, где содержится массив - PullRequest
1 голос
/ 17 декабря 2010

есть ли функция для поиска в массиве, если он содержит часть текста, подобную jquery (': содержит')

, а затем возвращает индекс, в котором он находитсяпример, который поможет вам визуализировать это:)

$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);

, если рекурсивно это можно сделать, было бы плюсом:)

1 Ответ

3 голосов
/ 17 декабря 2010

Нет, вам нужно написать пользовательскую функцию для сопоставления по подстроке:

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...