2014-09-07 3 views
0

У меня есть объект, когда я делаю var_dump это выход:PHP Еогеасп возвращаемое значение => значение вместо ключ => значение

array(7) { 
    ["foodRaw"  ]=> string(9) "000000000" 
    ["broodRaw" ]=> string(9) "111000000" 
    ["food"  ]=> int(0) 
    ["brood"  ]=> int(3) 
    ["size"  ]=> int(0) 
    ["foodHarvest" ]=> int(0) 
    ["broodHarvest"]=> int(0) 
} 

Когда я

foreach ($data AS $key => $Value){ 
    $this->{$key} = $Value; 
    echo $this->{$key} . " = " . $Value . "<br> 
    "; 
} 

IT Безразлично «т ведут себя, как я ожидаю, он этот бред Выходы:

000000000 = 000000000<br> 
111000000 = 111000000<br> 
0 = 0<br> 
3 = 3<br> 
0 = 0<br> 
0 = 0<br> 
0 = 0<br> 

кто-нибудь знает логику такого поведения?

ответ

3

Ну конечно. Вы устанавливаете:

$this->{$key} = $Value; 

Так что теперь обе имеют одинаковое значение. Если вы сразу же произнесете их:

echo $this->{$key} . " = " . $Value 

Вы получите тот же результат для обоих! Это похоже на настройку $a = $b, а затем удивление, когда echo $a = $b показывает то же значение для обоих.

Я думаю, что вы хотите:

echo $key . " = " . $Value 
+0

LOL, мальчик я чувствую себя тупой! –

Смежные вопросы