2012-02-27 2 views
-4

У меня есть этот массив имя массива составляет $ списокребенок массив в PHP

, когда я печатаю это:

$mychild = $list[1]['children']; 

но если нет ребенка я получаю это сообщение

Ошибка PHP была обнаружена Существенность: Уведомление Сообщение: Неопределенный индекс: дети Имя файла: controllers/user.php Номер строки: 384

Как я могу проверить, есть ли дочерний элемент в массиве?

Array 
    ( 
     [0] => Array 
      (
       [id] => 7 
       [children] => Array 
        (
         [0] => Array 
          (
           [id] => 9 
          ) 

        ) 

      ) 

     [1] => Array 
      (
       [id] => 6 
      ) 

     [2] => Array 
      (
       [id] => 8 
      ) 

     [3] => Array 
      (
       [id] => 10 
      ) 

    ) 
+3

Что-то не так с руководством по PHP? –

ответ

2

Таким образом, вы сможете быть уверены, что оба $list[1] и $list[1]['children']) существуют. Таким образом, вы, вероятно, не увидите ошибок.

if (isset($list[1]) && isset($list[1]['children'])) 
{ 
    // code here! 
} 

Вы также можете проверить if (isset($list)), чтобы увидеть, если $list существует.

1

Использование isset() (которое вернет true, если оно существует), или используя empty(), который вернет false, если он не пуст.

+1

Будьте осторожны; «не пуст», возможно, не означает, что вы думаете. –

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