@tatarrr95

Как на php будет выглядеть запись из JS «value = value || 0»?

На js есть такое хорошое присваивание переменной
value = value || 0
Которое означает, что если value существует, берем значение из value, иначе приравниваем 0.
Есть ли на php такая короткая запись без всяких isset/empty?
  • Вопрос задан
  • 293 просмотра
Решения вопроса 1
sslion
@sslion
$value = $value ?? 0
нет?
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@Vitsliputsli
если value существует, берем значение из value, иначе приравниваем 0.

$value = $value ?? 0
как уже предложили, но к
value = value || 0
это отношения не имеет. || - это оператор дизъюнкции, но в php он возвращает тип bool в отличии от js.
Ответ написан
@galliard
Можно еще так $value || $value = 0;, хотя варианты с ?? или ?: более правильные.
Ответ написан
@zersoulg
php
$value1 = $value2 ?? 0;
будет эквивалентно
if (isset($value2)) {
     $value1 = $value2;
} else {
     $value1 = 0;
}


что означает: если существует переменная $value2 или она не равна Null, то присваеваем $value1 значение $value2, иначе присваиваем $value1 значение 0

В php без указания специальных символов можно пользоваться только в условных операторах, например,

if ($test) {
    ...
] else {
    ...
}


будет эквивалентен
$test == true ? ... : ...;
то есть применется нестрогое сравнение
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы