В свое время, крайне не хватало таких разборов) пришлось самому спотыкаться о все подводные камни, или сидеть у компа проводя эксперименты, типа: а что будет если написать так, смотреть на результат и анализировать как работают те или иные стандартные функции (методы), сколько времени потеряно, чтобы понимать механику языка, а это главное! зная механику - в результате, ты получаешь именно то, что ожидаешь получить, и если результат тебя не устроил - легко дебажить, осознавая в каком месте ты мог получить логическую ошибку (которые самые сложные ошибки, т.к. интерпритатор на них не ругается, с его точки зрения все работает корректно) Лайк + подписка) жду ООП))
Долгое время не понимал данную возможность языка пока не обратился к языку Си и не узнал об указателях. Сразу стало понятно откуда в PHP взялась передача по ссылке.
Не совсем понятно, почему в foreach при передаче по ссылке последнее значение изменилось на 6. По идее, раз значение в $value осталось, оно должно примириться первому $value в новом цикле foreach. Но никак не последнему
Здесь такие основные принципы: нужно держать в голове, что во втором проходе по массиву, так же, как и в первом, мы работаем не с копией массива, а со ссылкой на массив. Точнее, после первого прохода $value всегда будет ссылаться на последний элемент массива, и - важно - менять его во втором проходе. Можно заметить, что во втором проходе последний элемент массива в любой итерации становится равен текущему значению элемента массива. Вот отсюда и получается - в предпоследней итерации последнему элементу уже присвоилось значение предпоследнего элемента, и вот оно-то и выводится. Резюмируя - во втором проходе массив, который обрабатываем постоянно изменяется!
@@NIKA-pi1cl типо во втором foreatch у нас всё ссылается на последний элемент массива. И простой перебор автоматом присваивает значения последниму элементу?
Не понял, почему вывод элементов из второго цикла с ключом 0, 1, 2 соответствуют выводу элементов первого цикла, а элемент 3 остался равным элементу 2. Ведь, в предыдущем цикле выполнилось умножение значения для элемента 4
Вы сказали что в foreach создаётся копия массива, не значит ли это что при создании копии, значения в массиве будут иметь разные ссылки в памяти. Получается foreach создал копию массива, значит ссылки на значения внутри массива в памяти будут уже другими, и &$value будет иметь ссылки на значения созданого массива циклом foreach. Или я что-то не правильно понял, может кто поможет.
Здравствуйте, сделайте пожалуйста урок, по доставке электронного товара в "автоматическом режиме" сразу после оплаты. Еще бы было приятно, если бы ссылка на электронный товар была действительна (рабочая) 1-3 суток или ограничение на количество скачивания. Уже которую неделю мучаюсь с этим вопросом... Надеюсь на вашу помощь... Например: ссылка на товар будет доступна после оплаты 1. Максимально допустимое количество попыток скачать файл электронного товара: 5 попыток 2. Количество часов, на протяжении которых будут действительны ссылки на скачивание проданного товара с типом "файл" до первой попытки его загрузить: 24 часа 3. Количество минут, начиная с момента первой загрузки, в течении которых ссылка будет ещё активна: 30 минут
Отличное видео, очень полезная информация. Ждём продолжения по созданию фреймворка
Пожалуйста. Вот по созданию фреймворка - и хочется, и колется.... продолжать можно и есть что, но особой отдачи не увидел, поэтому пока в раздумиях))
@@matroskin978 Я за продожение . Кто за ставим лайк
В свое время, крайне не хватало таких разборов) пришлось самому спотыкаться о все подводные камни, или сидеть у компа проводя эксперименты, типа: а что будет если написать так, смотреть на результат и анализировать как работают те или иные стандартные функции (методы), сколько времени потеряно, чтобы понимать механику языка, а это главное! зная механику - в результате, ты получаешь именно то, что ожидаешь получить, и если результат тебя не устроил - легко дебажить, осознавая в каком месте ты мог получить логическую ошибку (которые самые сложные ошибки, т.к. интерпритатор на них не ругается, с его точки зрения все работает корректно)
Лайк + подписка) жду ООП))
Долгое время не понимал данную возможность языка пока не обратился к языку Си и не узнал об указателях. Сразу стало понятно откуда в PHP взялась передача по ссылке.
Подскажите стоит ли применять в работе и ? Какие минусы у них есть ? Очень важно ваше профессиональное мнение !
Не совсем понятно, почему в foreach при передаче по ссылке последнее значение изменилось на 6. По идее, раз значение в $value осталось, оно должно примириться первому $value в новом цикле foreach. Но никак не последнему
Здесь такие основные принципы: нужно держать в голове, что во втором проходе по массиву, так же, как и в первом, мы работаем не с копией массива, а со ссылкой на массив. Точнее, после первого прохода $value всегда будет ссылаться на последний элемент массива, и - важно - менять его во втором проходе. Можно заметить, что во втором проходе последний элемент массива в любой итерации становится равен текущему значению элемента массива. Вот отсюда и получается - в предпоследней итерации последнему элементу уже присвоилось значение предпоследнего элемента, и вот оно-то и выводится. Резюмируя - во втором проходе массив, который обрабатываем постоянно изменяется!
@@NIKA-pi1cl ничего не понял)
@@NIKA-pi1cl типо во втором foreatch у нас всё ссылается на последний элемент массива.
И простой перебор автоматом присваивает значения последниму элементу?
Не понял, почему вывод элементов из второго цикла с ключом 0, 1, 2 соответствуют выводу элементов первого цикла, а элемент 3 остался равным элементу 2. Ведь, в предыдущем цикле выполнилось умножение значения для элемента 4
Php всегда передает аргумент по ссылке, новый объект создаётся при попытке изменить аргумент, если явно не указано сохранить ссылку (&)
Вы сказали что в foreach создаётся копия массива, не значит ли это что при создании копии, значения в массиве будут иметь разные ссылки в памяти. Получается foreach создал копию массива, значит ссылки на значения внутри массива в памяти будут уже другими, и &$value будет иметь ссылки на значения созданого массива циклом foreach. Или я что-то не правильно понял, может кто поможет.
спасибо. все понятно
молодец. Делай еще красава. Лайк
1) Про глобальные переменные лучше не говорить, это совсем другое.
2) Ничего не было сказано про возврат по ссылке.
А как называется дополнение для мозилы, чтобы php код отображался так же красиво ?)
Это devtools, а не дополнение
Есть ли сайты для изучения пхп?
python.org в помощь 😉
@@topsecret9174 это же не PHP а Python
Интересное видео)
Жаль, что последний способ не рассмотрели.
Очень понятно и хорошо объяснено, спасибо за урок!
Пожалуйста!
Здравствуйте, сделайте пожалуйста урок, по доставке электронного товара в "автоматическом режиме" сразу после оплаты. Еще бы было приятно, если бы ссылка на электронный товар была действительна (рабочая) 1-3 суток или ограничение на количество скачивания. Уже которую неделю мучаюсь с этим вопросом... Надеюсь на вашу помощь...
Например: ссылка на товар будет доступна после оплаты
1. Максимально допустимое количество попыток скачать файл электронного товара: 5 попыток
2. Количество часов, на протяжении которых будут действительны ссылки на скачивание проданного товара с типом "файл" до первой попытки его загрузить: 24 часа
3. Количество минут, начиная с момента первой загрузки, в течении которых ссылка будет ещё активна: 30 минут
То чувство когда люди начинают программирование учить не с с++. Оттуда и вопросы такие про ссылки, спасибо за видео. Повторение мать учения
Пожалуйста)
Очень полезно. Спс!
Пожалуйста ;)