Почему массив $items после обработки в цикле добавляет к своим элементам subcategories я же работаю с масcивом $pointers?
$pointers = array();
foreach ($items as $key => $item)
{
if(isset($item->perent_external_id))
{
if(isset($pointers[$item->perent_external_id]))
{
$pointers[$item->external_id] = $item;
$pointers[$item->perent_external_id]->subcategories[] = $items[$item->external_id];
unset($items[$key]);
}
}
else
$pointers[$item->external_id] = $item;
}
print_r($items);
ммм... по ходу $item у тебя объект, а объекты копируются по ссылке. Сначала ты пишешь эту строчку
* $pointers[$item->external_id] = $item;
то есть копируешь объект $item в массив $pointers, а потом
$pointers[$item->perent_external_id]->subcategories[] = $items[$item->external_id]
присваиваешь подкатегорию как бы элементу массива $pointers, но из-за первой (*) строчки этот элемент указывает на объект $item, так как объекты копируются по ссылке и в итоге получается, что у объектов из массива $items есть подкатегории. Я так понимаю происходящее.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Помогите пожалуйста с реализацией класс RectangleНужно создать два приватных поля(значения целочисленные для сторон прямоугольника), методы...
Дают число n и нужно вывести сколько таких чисел в массиве, используя бинарный поиск
Здравствуйте, имею задачу получить список содержимого между пар (