хорошо я искал некоторые функции, и мне, кажется, не повезло найти какие-либо,
Я хочу фильтровать массив для выделения определенного массива, который содержит некоторую строку
Вот пример:
$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" ) );
Надежда помогла!