$options = array('health', 'strength', 'agility', 'stamina', 'defence');
$total = array();
foreach ($options as $value)
{
foreach ($objects as $object)
{
$total[$value] += $object->$value;
}
}
var_dump($total);
У меня есть некоторые объекты в массиве под названием $objects
. Это дает данные $total
, как и следовало бы.Неопределенное смещение 0, но все равно дает правильный результат
Но по какой-то причине он скулит о некотором неопределенном смещении.
Notice: Undefined index: health in C:\wamp\www\objbattle\index.php on line 32
Line 32: $total[$value] += $object->$value;
Почему !? И как мне избавиться от него?
Он перебирает объекты $. Я предполагаю, что он пытается заполнить все значения в каком-то массиве, поэтому он не может просто назначить его, так как он будет переопределен следующей итерацией. – josmith
он может назначить в цикле на первой итерации, проверив, в какую итерацию находится цикл, или за пределами цикла, который он может назначить после объявления переменных. –
Вы отредактировали свое сообщение, то же самое, что и я, его ниспроверг. Теперь, однако, ваш пост не заслуживает ниспроверки, но я не могу его вернуть. – josmith