Поиск по многомерному массиву

 
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1152
Есть массив:
Код PHP:
  1. [rules] => Array
  2. (
  3. [0] => Array
  4. (
  5. [0] => required
  6. )
  7.  
  8. [1] => Array
  9. (
  10. [0] => email
  11. )
  12. )
  13.  
надо искать, есть ли в массиве значение email

Нашел вот такое решение:
Код PHP:
  1. if(array_search(array(0 => 'email'), $field->rules)){echo 'yes'; }else{echo 'no'}
Но не всегда срабатывает, например когда вот такой массив
Код PHP:
  1. [rules] => Array
  2. (
  3. [0] => Array
  4. (
  5. [0] => email
  6. )
  7.  
  8. )
не работает...
Может кто то знает другой способ поиск по массивам?
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4336
Evanescence:
Но не всегда срабатывает, например когда вот такой массив

Документация:
Эта функция может возвращать как boolean FALSE, так и не-boolean значение, которое приводится к FALSE. За более подробной информацией обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Т.е. в вашем случае
Код PHP:
  1. if(array_search(array(0 => 'email'), $field->rules) !== false) { echo 'yes'; } else { echo 'no'; }
Evanescence:
Может кто то знает другой способ поиск по массивам?
http://php.net/manual/ru/control-structures.foreach.php
Редактировалось: 2 раз (Последний: 20 сентября 2015 в 11:04)
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1152
Fuze:
Т.е. в вашем случае
Код PHP:
if(array_search(array(0 => 'email'), $field->rules) !== false) { echo 'yes'; } else { echo 'no'; }
Спасибо, работает
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: