- 1
- 2
В "PHP" одинарные кавычки быстрее, чем двойные.
https://habr.com/ru/company/alfa/blog/447416/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
В "PHP" одинарные кавычки быстрее, чем двойные.
https://habr.com/ru/company/alfa/blog/447416/
Какой анскилл )))
BOKCEJIbHblu_nemyx 10.04.2019 14:05 # 0
PACTPOBblu_nemyx 10.04.2019 15:02 # +1
Этим можно воспользоваться в ненормальном программировании.
https://ideone.com/Gswsh5
PACTPOBblu_nemyx 10.04.2019 16:52 # 0
Выводит: 01111
https://ideone.com/x0Wa7B
cmepmop 10.04.2019 17:24 # 0
BOKCEJIbHblu_nemyx 10.04.2019 18:22 # 0
PACTPOBblu_nemyx 10.04.2019 19:30 # +4
С одной стороны, print в качестве аргумента захватывает, сколько может захватить (почти как в «Бейсике»). Он жадный. В предыдущем примере я взял (print 2) в скобки, чтобы он не захватил оставшуюся часть формулы.
С другой стороны, print в «PHP» возвращает единицу, а перед этим в стандартный поток выводит строковое представление своего аргумента.
Итак, выражение эквивалентно следующему:
Сначала вызовется самый правый print и выведет 0.
Он вернёт 1, которую потом напечатает предпоследний print.
Он вернёт 1, которую потом напечатает предпредпоследний print.
Он вернёт 1, которую потом напечатает предпредпредпоследний второй слева print.
Он вернёт 1, которую потом напечатает предпредпредпредпоследний самый левый print.
Наконец, единица, которую вернул самый левый print, нигде не используется.
gost 11.04.2019 17:03 # 0
PACTPOBblu_nemyx 11.04.2019 17:05 # 0
BOKCEJIbHblu_nemyx 11.04.2019 19:24 # +1
PACTPOBblu_nemyx 11.04.2019 19:30 # 0
А если серьёзно, то как это работает?
OlegUP 10.04.2019 18:19 # 0
Так как в двойных кавычках интерпретатор ищет переменные, чтобы можно было их без явной конкатенации в строку подставить. Одинарные же кавычки указывают ему, что это тупо строка, в которую ничего не надо подставлять.
Xyu_HE_3HAET 11.04.2019 11:58 # 0
guest8 11.04.2019 23:35 # −999