2012-02-27 75 views
-4

我有這個陣列 數組的名稱是$名單陣列孩子在PHP

當我鍵入:

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

,但如果沒有孩子,我得到這個消息

遇到PHP錯誤 嚴重性:通知 消息:未定義索引:children 文件名: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手冊出錯了嗎? – 2012-02-27 11:22:14

回答

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

小心; 「不是空的」可能並不意味着你的想法。 – 2012-02-27 11:23:18