Intereting Posts
данные о трубопроводах в командной строке php? Сравнение строки UTF-8 Вызов неопределенного метода Illuminate \ Database \ Query \ Builder :: lists () при посеве после обновления до Laravel 5.3 пытаясь прочитать live rss, но его возвращающий тот же xml PHP SoapClient Constructor чрезвычайно медленный Как я могу заставить MAMP рассказать мне, что пошло не так с php-кодом? Эффективно найти вложенный элемент массива PHP на основе значения атрибута Преобразование HTML в PDF через PHP (установить шрифт для html2pdf) Найти ближайшую долготу и широту в массиве? Yii: Как получить несколько данных из db Веб-службы vTiger: разрешение на выполнение операции отклонено для запроса Каков самый простой способ отображения ошибок проверки для hasMany-ассоциаций в CakePHP 2.x? PHP / JAVASCRIPT / Mysql: предотвращение инъекций javascript Существуют ли библиотеки грамматики выражений (PEG) для Javascript или PHP? Как сохранить и получить содержимое изображения из базы данных с помощью Laravel

Сводный синтаксис PHP

Я только что наткнулся на это на GitHub.

($config === NULL) and $config = Kohana::config('email'); 

Это эквивалент

 if ($config === NULL) { $config = Kohana::config('email'); } 

Это обычное явление? Буду ли я ожидать, что другие разработчики рассмотрят мой код, если я воспользуюсь этим первым способом, чтобы сразу узнать, что он делает?

    Потребовал мне секунду, чтобы получить его, но это должно работать практически на каждом языке программирования. Поскольку операторы «и» или «или» оцениваются лениво, если инструкция слева ложна, тогда нет необходимости оценивать остальные утверждения, потому что все выражение всегда будет ложным (false и true – false). Точно так же вы можете сделать это с помощью «или», но утверждение слева должно быть истинным, а одно справа не будет оцениваться.

    PS: В этом случае не имеет значения, что то, что справа, не является булевым выражением; он просто примет значение истинности $config

    И является логическим оператором PHP.

     ($config === NULL) and $config = Kohana::config('email'); 

    имеет эквивалентный результат ( но имеет меньший приоритет оператора ) до

     ($config === NULL) && $config = Kohana::config('email'); 

    Лично, чтобы избежать путаницы, я бы использовал ваш второй подход.