Дмитрий_rnd
Новичок
array_push в PHP5
код:
причем $result никак я не объявлял и все действия с ним приведены в примере.
в 4-ке работал код прекрасно. А в пятерке не захотел, поскольку, насколько я понял, 5-ка в массив помещает не $result, а ссылку на него - поэтому весь массив заполнен одними и теми же данными - значением последнего элемента.
Для лечения я стал добавлять $result = false при входе в цикл. Объясните - это баг, фича или я просто использую неправильный стиль.
Посоветуйте правильный подход к такому заполнению.
ЗЫ. Можно, конечно, создать класс, коснструктор и всю такую лабуду, но тогда повозникают десятки и сотни классов, используемых по одному разу и код начнет неоправданно разбухать.
код:
PHP:
$results = array();
for(...) {
$result->f1 = ...;
$result->f2 = ...;
$result->f3 = ...;
$result->f4 = ...;
array_push($results, $result);
}
в 4-ке работал код прекрасно. А в пятерке не захотел, поскольку, насколько я понял, 5-ка в массив помещает не $result, а ссылку на него - поэтому весь массив заполнен одними и теми же данными - значением последнего элемента.
Для лечения я стал добавлять $result = false при входе в цикл. Объясните - это баг, фича или я просто использую неправильный стиль.
Посоветуйте правильный подход к такому заполнению.
ЗЫ. Можно, конечно, создать класс, коснструктор и всю такую лабуду, но тогда повозникают десятки и сотни классов, используемых по одному разу и код начнет неоправданно разбухать.
