2012-02-27 78 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