2014-01-23 2 views
5

У меня есть массив как это:Проверить значение двумерного массива в PHP

array(2) { 
      [0]=> array(1) { ["cate_id"]=> string(2) "14" } 
      [1]=> array(1) { ["cate_id"]=> string(2) "15" } 
     } 

Как я могу проверить, если значение 14 существует в массиве без использования для цикла?

Я попробовал этот код:

var_dump(in_array('14',$categoriesId));exit; 

но он возвращает false, и я не знаю, почему.

+0

Dont вы хотите использовать 'foreach' тоже? –

+1

По какой причине вы не хотите использовать цикл? – Nanne

+0

он тоже должен для цикла, в этом коде я просто ожидаю проверить, что значение существует или нет в массиве. –

ответ

6

Интересно, почему вам не нужен for. Наилучшим способом будет serialize Ваш массив и выполните strpos.

$yourarray = array('200','3012','14'); 
if(strpos(serialize($yourarray),14)!==false) 
{ 
echo "value exists"; 
} 

Warning : без использования циклических структур не может гарантировать существование значения внутри массива. Даже in_array использует внутренние петлевые структуры. Так как в комментариях указано, что вы получите ложно положительный результат, если в переменной есть 1414. Вот почему я сделал это в первую очередь.

Если вам нужно найти определенное значение в массиве. Вы должны его зацикливать.

+0

это не работает для меня, я ожидаю, что значение проверки существует или нет в массиве, поэтому я не использую для цикла –

+0

предположим, что массив это как 'array (1,1,1,1,1,1 ...) (15 раз)', ваш ответ вернет true, но в массиве нет ** 14 ** в массиве –

+1

вопрос: массив (2) { [0] => массив (1) {["cate_id"] => строка (2) "141"} [1] => массив (1) {["cate_id"] => строка (2) «15»} } if (strpos (serialize ($ thearray), 14)! == false) Что бы вернуть? – RezaSh

2

ли это:

var_dump(in_array("14",array_map('current',$categoriesId))); //returns true 
+1

'in_array' действительно использует внутренние петлевые структуры. Ваш комментарий ** 'Сделайте это (без цикла):' явно неправильно. ** –

+0

okay buddy, я обновил его –

+0

Удалил мой downvote. –

Смежные вопросы