Два цикла foreach с одинаковыми именами переменных нарушают порядок элементов
Вот мой код:
foreach($datawallright['adds'] as &$ad){
$ad['img'] = get_ad_pic_url($this->em->getReference("models\MmAds",$ad['id']),'/crop_');
$ad['description'] = ucfirst(strip_tags(html_entity_decode(mb_strtolower(str_replace(array("___","---"),"",$ad['description']), "UTF-8"))));
$ad['titleurl'] = title_url($ad['title']);
}
foreach($datawallright['adds'] as $ad){
$this->load->view("view_wallpage_add",array("ad"=>$ad,"isuserwall"=>$isuserwall));
}
У меня есть два цикла for, проходящих через один и тот же массив. Переменные, назначенные в этих двух циклах for, одинаковы. Странная вещь, когда он повторяет второй цикл for. Первый n-1 элемент верен, но вместо последнего элемента появляется элемент, предшествующий последнему. Я могу сделать все это в одном цикле. Я могу изменить имя переменной $ ad, и тогда она будет работать нормально, но я хочу знать, что случилось.