Обсуждение.
Пояснение для глупцов как один анимешник
array_merge - слияние двух и более массивов
foreach - циклический перебор массива (ключ, значение)
Пояснение описывает различие между этими способами. Но вот беда некоторые субъекты возомнили себя экспертами в области программирования на PHP не зная элементарных основ, и это печально.
Речь о сливании двух массивов в один (видел спор в одном из топиков)
А что тут спорить))
time php + strace php в любой linux тачке даст количество заюзаных ресурсов
Первый даст время выполнения человеческое, системное, пользовательское
Второй даст все системные вызовы
Ты используешь перебор массива для СЛИЯНИЯ массивов.
Я тебе говорю, что так делать плохо, есть встроенная функция PHP array_merge которая это делает на уровне ядра интерпретатора.
Всё. Не чего более, не стоило выносить это на публику.
Так в том то и дело, по бенчмаркам вывозит вариант с array_merge особенно при больших массивах.
Mobiaaa, просто тот кто спорил не понял, того что, на самом деле всё должно быть так http://ideone.com/csCahN (это элементарно но не идеально) и это печально.
Добавлено 07.02.16 в 02:03:34:
Кстати тут есть подобие бенчмарков
https://gist.github.com/Ocramius/8399625
Добавлено 07.02.16 в 02:05:00:
Из них видно что разница которая есть между ними, обычному пользователю вашего проекта будет незаметна. А количество байтов в памяти будет практически идентично
Увы, но это ты не понял.
в общем я не поленился запустить бенчмарк. Для тестов взял php 7.0.3 версии и встроенный web сервер.
Для теста взял массив в 500к элементов (что бы числа на выходе нагляднее были)
В итоге запустил тест с перебором через foreach 10 раз, вычислил среднюю продолжительность выполнения - 0.11704993247986
При использовании твоего метода с перебором происходит 500к итераций.
При моём - не одной, и что в итоге? Средняя скорость слияния того же массива через array_merge - 0.05706000328064.
Далее не вижу смысла спорить.
Ты походу глупее чем я думал, если не можешь осознать разницу между слиянием и перебором массива
Намекну из далека. array_merge и foreach выполняют разные функции
Ты серьёзно так глуп? Ты в своём классе перебираешь массив ДЛЯ СЛИЯНИЯ. Ты, именно ты. Ты перебираешь ключ=>значение и устанавливаешь их в другой массив - ЭТО и именно это есть слияние массива.
С кем я спорю, мля.