数组在php中返回错误未定义的索引

时间:2011-03-08 06:04:07

标签: php arrays

索引4在数组评级中存在但我得到错误...如果我撤消评论$ write = 4那么它工作正常。

foreach($writers[$i] as $write)
      {
      echo "writer: $write  -  rating: ";
      print_r($rating);
//$write=4;
      echo "<br>". $rating[$write] ;

}

上面的代码给出了

    writer: 4 
Notice: Undefined index: 4 in D:\wamp\www\shazia\CRM\EffortTrackUpload\admin\cron.php on line 232

阵列评级给出:

Array ( [3] => 5.1 [4] => 6 [5] => 5.2 [6] => 5 [8] => 5 [9] => 5 [10] => 5 [11] => 4 [12] => 3.6 [13] => 5 [14] => 5.1 )

任何人都可以帮我解释一下我做错了什么。

由于

4 个答案:

答案 0 :(得分:2)

根据你的评论,问题是$ write是一个字符串 - “4”,但数组索引只是一个整数4。

找出为什么4在$ writers [$ i]数组中用空格填充,如果从其他地方获取数组,可以使用intval($ write)来获得正确的值。

答案 1 :(得分:1)

$writers[$i]$i = 4未定义,$rating[$write]时未定义$write = 4。它将在第232行中与您的错误消息对应的任何一个。

使用if(isset($writers[$i]))来防止错误。

修改从您的评论中,我会说$rating[4]未定义。

答案 2 :(得分:0)

foreach($writers[$i] as $write)
      {
      echo "writer: $write  -  rating: ";
      print_r($rating);
//$write=4;
      echo "<br>". $rating[trim($write)] ; // use trim so that it will replace " 4" to "4"

}

答案 3 :(得分:-1)

foreach($writers as $write){
   //code here
}

应该怎么写:)