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

Php 如何检查通知(8)未定义索引,php,Php,我知道我为什么会出现这个错误,这是因为目前这个特定的菜没有评级,所以它是空的或空的,但我不知道如何处理它。。我试过了,但还是出了同样的错误 if(empty($rate_dishes[$j]["DishRating"]["dish_id"])) { echo $this->Form->hidden('dish_id', array('value'=> $this->params['var'])); } else

我知道我为什么会出现这个错误,这是因为目前这个特定的菜没有评级,所以它是空的或空的,但我不知道如何处理它。。我试过了,但还是出了同样的错误

     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,我就提供碟片id。。每当对某道菜进行评级时,都会采用“else”条件。。但如果它没有评级。。它到达第一个条件,仍然显示该错误

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

在这种情况下,您可能不应该检查空索引,而是检查数组键是否存在。这实际上不是CakePHP的一个特性,而是一个标准的PHP方法

用于此操作的PHP函数不是
empty()
,因为后者希望键在那里:

isset($rate_dishes[$j]["DishRating"]["dish_id"])
还有一个,但我相信您正在循环处理post数组中的所有数据,所以使用
isset()
可能就可以了