Есть массив слов, в нем встречаются ключ "casino" casino2 casinogrand gcasinocar casno Хочу получить список где встречается этот ключ. С помощью чего можно это сделать? array_search ищит только равных по значанию слова. если можно, краткий пример, спасибо...
Код (Text): $list = array(); foreach ($k => $v){ if (strpos($k, 'casino') !== false) $list[$k] = $v; } print_r($list); upd strpos($k, 'casino') лучше заменить на strtolower(strpos($k, 'casino'))
Ошибка? Сработало вот так Код (Text): $list = array("casino", "casinos", "2casino", "debcasin", "casino33"); foreach ($list as $k => $v) { if (strtolower(strpos($k, 'casino')) !== false) { $list[$k] = $v; } } print_r($list); но при этом ответ Код (Text): Array ( [0] => casino [1] => casinos [2] => 2casino [3] => debcasin [4] => casino33 ) это ни есть тру, т.к в предпоследнем слове нет "casino"
1. $list это пустой массив, который потом будет наполнятся по ходу поиска! 2. array("casino", "casinos", etc) к "встречаются ключ "casino"" никакого отношения не имеет. Учи матчасть: Код (Text): array(ключ => значение) http://ru.php.net/manual/en/language.types.array.php Код (Text): $source = array("casino", "casinos", "2casino", "debcasin", "casino33"); $list = array(); foreach ($source as $v) { if (strtolower(strpos($v, 'casino')) !== false) { $list[$k] = $v; } } print_r($list);
понял, спасибо. Но почему как итог результатат нет? Код (Text): Array ( [] => casino33 ) т.е он не наполняется... тут как будто цикла для $k не хватает
Код (Text): $source = array("casino", "casinos", "2casino", "debcasin", "casino33"); $list = array(); $k=0; foreach ($source as $v) { if (strtolower(strpos($v, 'casino')) !== false) { $list[$k] = $v; $k=$k+1; } } print_r($list); Если так, то ответ Код (Text): Array ( [0] => casino [1] => casinos [2] => 2casino [3] => debcasin [4] => casino33 ) [3] тут явло лишний
PHP: <?php function getArrayFromArrayByKey ($array,$key) { $result=array(); foreach ($array as $value) { if (substr_count(strtolower($value),strtolower($key))) { $result[]=$value; } } return !empty($result)?$result:false; } $source=array("casino", "casinos", "2casino", "debcasin", "casino33"); $list=getArrayFromArrayByKey($source,'casino'); print_r($list); ?>