Articles of trernary operator

PHP Упростите тройную операцию

В PHP есть ли способ упростить это еще больше, не используя if() ? $foo = $bar!==0 ? $foo : ''; Мне было интересно, если бы был способ не переназначить $foo себе, если условие выполнено. Я понимаю, что есть способ сделать это в Javascript (используя &&, правильно?), Но задавался вопросом, есть ли способ сделать это в […]

Существует ли разница между тернарным оператором и условием?

Существует ли разница между тернарным оператором и условием в php? если да, любезно предоставите.

Существует ли PHP как короткая версия троичного оператора в Java?

В PHP тернарный оператор имеет короткую версию. expr1 ? expr2 : expr3; меняется на expr1 ? : expr3; Краткая версия возвращает результат expr1 в true и expr3 на false. Это позволяет использовать классный код, который может заполнять переменные в зависимости от их текущего состояния. Например: $employee = $employee ? : new Employee(); Если $employee == […]

Более сжатое тернарное выражение?

Мне часто приходится писать код со следующим логическим шаблоном: $foo = isset($bar) ? $bar : $baz; Я знаю о синтаксисе ?: :: $foo = $bar ?: $baz; … который, на первый взгляд, кажется тем, что я ищу; тем не менее, он выдает неопределенный индекс уведомлений, когда $bar не установлен. Он также использует ту же логику, […]

Почему троичный оператор игнорирует порядок порядка?

Я изучал трёхмерную операцию вложенности и провел некоторые тесты с этой рутиной: <?php $test1 = [15,30,'ok']; $test2 = [8,90,'fail']; $test3 = [4,32,'ok']; $test1[2] == 'ok' ? print('First passed. The second round marks '. $test2[1]/$test2[0] < 10 ? 'an irrelevant value' : $test2[1]/$test2[0]. ' and the third was skipped.') : print('First failed. The second round was […]

Тернарные операторы в Twig php (сокращенная форма if-then-else)

Можно ли использовать тройные операторы в шаблоне ветви? Теперь для добавления некоторого класса в элемент DOM зависит от некоторого условия, которое я делаю следующим образом: {%if ability.id in company_abilities%} <tr class="selected"> {%else%} <tr> {%endif%} Вместо <tr class="<?=in_array($ability->id, $company_abilities) ? 'selected' : ''?>"> в встроенном шаблоне шаблонов php.

Как сделать быстрое суждение и назначение без isset ()?

Я устал от использования кода: $blog = isset($_GET['blog']) ? $_GET['blog'] : 'default'; но я не могу использовать: $blog = $_GET['blog'] || 'default'; Есть ли способ сделать это без использования isset() ?

Условное присвоение значений PHP

Для очень распространенного случая присвоения значения переменной в зависимости от результата выражения я являюсь поклонником тройных операторов: $foo = $bar ? $a : b; Однако, если $ bar является относительно дорогой операцией, и я хочу присвоить результат $ bar $ foo, если результат правдивый, это неэффективно: $foo = SomeClass::bigQuery() ? SomeClass::bigQuery() : new EmptySet(); Один […]

Простой PHP isset test

Это ниже, похоже, не работает, как я ожидаю, событие, хотя $ _GET ['friendid'] = 55 возвращает NULL <?PHP $_GET['friendid'] = 55; $friendid = (!isset($_GET['friendid'])) ? $_GET['friendid'] : 'empty'; echo $friendid; exit; ?>

Тернарный оператор в PHP

$chow = 3; echo ($chow == 1) ? "one" : ($chow == 2) ? "two" : "three"; выход: три $chow = 1; echo ($chow == 1) ? "one" : ($chow == 2) ? "two" : "three"; выход: два Может ли кто-нибудь объяснить, почему вывод «два», когда $ chow = 1 вместо «одного»?