如何检查通知(8)未定义的索引

时间:2011-12-11 21:48:12

标签: php

我知道为什么我收到这个错误,这是因为目前没有这个特定菜的评级,所以它是空或空但我不知道如何处理它..我试过这个但仍然是同样的错误来了..

     if(empty($rate_dishes[$j]["DishRating"]["dish_id"]))
     {
        echo $this->Form->hidden('dish_id', array('value'=> $this->params['var']));
     }
     else
     {
       echo $this->Form->hidden('dish_id', array('value'=> $rate_dishes[$j]["DishRating"]["dish_id"]));
     }

基本上我提供了碟子ID,如果它不是由发布的阵列提供..每当有特定菜的评级时它需要'其他'条件..但如果它没有评级..它得到到第一个条件仍然显示错误..

the URL would be  /special_dishes/rate_dishes/4/?var=4

1 个答案:

答案 0 :(得分:2)

在这种情况下,你可能不应该检查空索引,而是存在数组键。这不是CakePHP的真正功能,而只是一种标准的PHP方法。

这个PHP函数是isset()而不是empty(),因为后者希望密钥在那里:

isset($rate_dishes[$j]["DishRating"]["dish_id"])

此外,还有array_key_exists(),但我相信您正在遍历该帖子数组中的所有数据,因此使用isset()可能就好了。