как выбрать с масива все строчи в которых есть слово "open"?
тобишь как из этого
$x = array("eeeeee open", "eeeeeeeeee", "open eeeeeeee", "eeeeeeeeeeee", "eeeeee open eeeee");
получить такой результать
[0] => eeeeee open
[1] => open eeeeeeee
[2] => eeeeee open eeeee
сортировка масива по слову
- XwebDeveloper
- Сообщения: 51
- Зарегистрирован: 13 ноя 2017, 12:53
Re: сортировка масива по слову
Можно вот так:
// исходный массив $x = array("eeeeee open", "eeeeeeeeee", "open eeeeeeee", "eeeeeeeeeeee", "eeeeee open eeeee"); // ключи для поиска $arr_search=array(); $arr_search[]="open"; // получить массив с результатами $res = getElementsWith($x, $arr_search); // вывести результат в панель отладки print_r($res); /* [0] => eeeeee open [1] => open eeeeeeee [2] => eeeeee open eeeee */ /** * Получит все элементы массива, которые содержат строку или несколько строк (подстроки) * * @param string $arr -- список строк, в которых искать * @param array $startStr -- список подстрок (которые искать) * @return array */ function getElementsWith($arr, $startStrs, $trim = false) { $result = []; foreach ($arr as $val) { foreach ($startStrs as $Str) { // echo ; if (strpos($val,$Str)!==false) { if ($trim) { $str = trim($val); } else { $str = $val; } $result[] = $str; } } } return $result; }
Запрос на создание скриптов viewforum.php?f=61
Re: сортировка масива по слову
А лучше так)
Код: Выделить всё
$x = array("eeeeee open", "eeeeeeeeee", "open eeeeeeee", "eeeeeeeeeeee", "eeeeee open eeeee");
$res = array_filter($x, function($el){
return strpos($el, "open") !== false;
});
print_r($res);