65536
@65536

Есть ли подводный камень у данной конструкции?

Обычный вариант
if ( !isset($x) )
    $x = 123;

необычный
isset($x) || $x = 123;
  • Вопрос задан
  • 342 просмотра
Решения вопроса 1
sivabur
@sivabur
Заблокировали просто так!
Трудно читаемо.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
в первом варианте по-любому надо скобки.

второй вообще hernia какая-то.

вообще достаточно часто используется тернарный оператор, типа
$x = isset($x) ? $x : $default;

ну, это если не получается использовать параметр по умолчанию в сигнатуре функции.
Ответ написан
Melkij
@Melkij
PostgreSQL DBA
Подождите ещё полгодика и получите штатную синтаксический оператор: https://wiki.php.net/rfc/isset_ternary
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
Не плохо бы еще проверять тип, например $x может быть строкой, но после вашего условия вы будете считать, что это int.
Прочитайте требования к оформлению кода PSR-2
if ( !isset($x) )
    $x = 123;

Такая конструкция - признак очень плохого тона.

В вашем случае я бы использовал тернарный оператор
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы