Здравствуйте!
Мой вопрос скорее относится к внутреннему устройству php и оптимизациям которые сделали его разработчики.
Итак на самом деле всё просто даже элементарно выражения: (1 || 0 && 0) возвращает true и ((1 || 0) && 0) возвращает false, сдесь всё правильно приоритет оператора && выше чем || поэтому всё работает как надо.
Почему он сперва выполняет оператор || ведь у && приоритет больше, установка скобок ничего не меняет. Ещё сильнее всё запутывается если функция возвращает true, выведено будет 11.
У меня есть два варианта почему так:
1: Я туплю и что-то упускаю
2: Php использует какие-то оптимизации. К примеру в данном выражении выполним f(1) и если результат окажется true мы найдём самое быстрое решение.
Просьба, если дело именно в поведении php дайте ссылочку где это описано.(Отредактировано автором: 06 Апреля, 2014 - 17:30:11)
|