PHP, как фильтровать массив, который содержит что-то?

хорошо я искал некоторые функции, и мне, кажется, не повезло найти какие-либо,

Я хочу фильтровать массив для выделения определенного массива, который содержит некоторую строку

Вот пример:

$array = array(1 => 'January', 'February', 'March'); $to_remove = "Jan"; // or jan || jAn, .. no case sensitivity $strip = somefunction($array, $to_remove); print_r($strip); 

он должен вернуться

 [1] => February [2] => March 

функция, которая ищет строку в массиве, если найденная строка разбивает весь массив

Вы можете использовать array_filter и stripos

 $array = array(1 => 'January', 'February', 'March'); print_r(array_filter($array, function ($var) { return (stripos($var, 'Jan') === false); })); 

Вы можете использовать array_filter () с закрытием (встроенная функция):

 array_filter( $array, function ($element) use ($to_remove) { return strpos($element, $to_remove) === false; } ); 

(Версия PHP> = 5.3)

Самый простой способ – с помощью array_filter . Эта функция получает фильтр для фильтрации и функцию обратного вызова, которая выполняет фактическую фильтрацию на основе полученного значения:

 function filter_func( $v ) { return ( ( $var % 2 ) == 0 ); } $test_array = array( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ); print_r( array_filter( $test_array, "filter_func" ) ); 

Надежда помогла!