Есть такое выражение "экономить на спичках", когда мы начинаем оптимизировать то, что и так работает быстро,
Верно, именно поэтому замечание про "более лучше производительный" не имеет смысла и является скорее вредным, поскольку создает ненужное суеверие.
для обхода массива нужно использовать итератор
не нужно.
нужно использовать то, что подходит для конкретной задачи
если я, к примеру, хочу изменять значения массива и при этом видеть изменения сразу, то нужно использовать обращение по ключу.
не вижу
ну если так не видите, то просто уберите её из кода, и запустите его :)
Это не то замедление, о котором вообще стоит говорить.
Вы его увидите только на цикле, который вообще нихчего не делает. Во всех остальных случаях вы его с электронным микроскопом не увидите.
Бессмысленность строчки $result[$key] = []; - это для вас "тайное знание"? :)
вообще соглашусь, для начинающего задачка довольно сложная.
но полезная
главная проблема тут в нумерованных массивах
то есть, чтобы получить полностью динамический код, и при этом не оскоромиться об переменные переменные, надо $array1 и $array2 собрать в отдельный массив, [$array1, $array1] и использовать в коде его.
для начала можно решить упрощенный вариант, приняв, что в params всегда только 2 элемента
Михаил Смирнов, согласен.
Но тут главное не опыт, а трезвый взгляд на вещи.
Я поначалу тоже выдумывал какие-то сложные объяснения. А все оказывалось до смешного просто.
Например присвоил переменной одно значение, а на выходе получалось совсем другое. Что за чертовщина?
Мысль о том, что код посередине поменял это значение, и этот код надо найти - не сразу приходила в голову :)
to_east, ну то есть вас удивляет тот факт, что если в таблице есть несколько строк с некоторым значением, то можно выбрать из них 5 штук, а если только одно, то выбрать 5 не получается? :)
я просто намекаю, что перед тем как написать решение, сначала желательно подумать.
надо ли его вообще писать? если надо - то для кого? как писать? стоит ли писать такой код, который потом приходится отдельно объяснять словами?
а без ответов на все эти вопросы остаётся только "смотрите какой я молодец, смог решить эту задачу!"
Владислав Лысков, ну, она попыталась сформулировать задачу, и потерпела неудачу уже на этом этапе, упустив очень важный элемент алгоритма, на котором и основывается решение.
Разницу между for и foreach я никогда не увижу. Но не буду спорить. С сектантами веры экономии на спичках рациональные доводы не действуют.
Читайте внимательнее. Мне надо не для изменения. А для изменения, которое видно в массиве сразу, а не по окончании перебора.
Разумеется должна быть. Она там и есть. А эта строчка лишняя.