@entermix

Почему сбрасывается значение объекта?

Есть сл. код:
$adverts = DB::select('id', 'rate')
    ->from(ORM::factory('Advert')->table_name())
    ->as_object('Advert')->execute();

foreach ($adverts as $advert){
    $advert->rate = rand(0,10);
    var_dump($advert->rate);
}

foreach ($adverts as $advert)
    var_dump($advert->rate);


В результате:
float(5)
NULL


Почему так? Т.е. почему теряется значение $advert->rate ?
  • Вопрос задан
  • 410 просмотров
Решения вопроса 1
Adamos
@Adamos
// в $advert - копия элемента $adverts, изменения в ней не отражаются на самом массиве
foreach ($adverts as $advert) { } 
// в $advert - ссылка на элемент $adverts, изменения в ней - это изменения в самом массиве
foreach ($adverts as &$advert) { }

По материалам любого учебника по PHP...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы