Может ли логический оператор использоваться с троичными операторами в переполнении стека

Это утверждение правильно в PHP

$abc = $x === "" || $y !== $z ? "true" : "false";

1

Решение

Почему бы и нет. Я верю, что это сработает. Просто поставьте скобки. подобно

$abc = ($x === "" || $y !== $z) ? "true" : "false";

1

Другие решения

да. это работает правильно.

$x = 1;
$y = 2;

$z = 100;

$abc = $x === "" || $y !== $z ? "true" : "false";

var_dump($abc); // true

а также

$x = 1;
$y = 100;

$z = 100;

$abc = $x === "" || $y !== $z ? "true" : "false";

var_dump($abc); // false

но, пожалуйста, используйте скобки!

$abc = ($x === "" || $y !== $z) ? "true" : "false";
1

Я только что проверил это, и он работает абсолютно нормально. Вам просто нужно добавить круглые скобки для условия условия
Так что ваш код будет выглядеть так

$abc = ($x === "" || $y !== $z) ? "true" : "false";
echo $abc;
1
По вопросам рекламы [email protected]