Фильтрация многомерного массива (содержащего элементы нерегулярной глубины) с использованием белого списка строковых знаPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Фильтрация многомерного массива (содержащего элементы нерегулярной глубины) с использованием белого списка строковых зна

Сообщение Anonymous »

У меня есть многомерный массив, в котором я ищу определенные значения.
Если эти значения найдены, мне нужно сохранить эти элементы в новом массиве.

Код: Выделить всё

array_intersect()
работал нормально на PHP5.3, теперь на 5.4 жалуется:

Примечание: преобразование массива в строку.

Я обнаружил, что array_intersect() имеет проблему с многомерными массивами в PHP5.4. https://bugs.php.net/bug.php?id=60198
Это массив $options, который я ищу:

Код: Выделить всё

Array (
[index1] => html
[index2] => html
[index3] => slide
[index4] => tab
[index5] => Array ( [0] => 123 )
)
Код, работающий на PHP5.3.x:

Код: Выделить всё

$lookfor   = array('slide', 'tab');
$found     = array_intersect($options, $lookfor);
print_r($found);

Array
(
[index3] => slide
[index4] => tab
)
но в версии 5.4.x возникает упомянутая выше ошибка.
Какой другой способ сделать это без цикла и без использования подавления ошибок.

Подробнее здесь: https://stackoverflow.com/questions/231 ... th-using-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»