为什么我得到未定义的索引但我已经转储了我的数组并且它有值?

时间:2012-09-16 17:41:38

标签: php arrays

我不知道什么是错的,但是为什么我有未定义的索引,因为我已经转储了我的数组,它有价值可能是错的或者我错过了?

//这是截图: enter image description here

//这是我的PHP代码:

$result1 = array(); //for player 1
$result2 = array(); //for player 2

$data_blue = $db->dataWarrior($battle,$blue_name,$blue_type);

foreach($data_blue as $blue){
    $result1[] = $blue;
}

$data_red = $db->dataWarrior($battle,$red_name,$red_type);

foreach($data_red as $red){
    $result2[] = $red;
}

var_dump($result1);

//variables to identify turns 1=turn
$warrior_1 = 0;
$warrior_2 = 0;

//compare speed
if($result1['speed']>$result2['speed']){ //this is the undefined index
    $warrior_1 = 1;
    $warrior_2 = 0;
}

2 个答案:

答案 0 :(得分:3)

这一行:

$result1[] = $blue;

将一个数组嵌套在另一个数组中。

if($result1[0]['speed']>$result2[0]['speed']){

或者只是分配而不是附加在前面的行中。

$result1 = $blue;

答案 1 :(得分:3)

您的数组以索引0开头。

尝试

if($result1[0]['speed']>$result2[0]['speed']){