Задать вопрос

Как работает террарный оператор в PHP??

$a = "";
$b = 5;

$c = $a ?? $b;    // $c примет значение $a, если она существует и не равна null

// $a существует и равна пустой строке. А пустая строка равна null. То есть $c должна принять значение $b
echo "" == null;  // true

// но в итоге получаем $c == "";
echo $c == ""; 	  // true
  • Вопрос задан
  • 153 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
@dimoff66
Кратко о себе: Я есть
echo "" == null; // true

При использовании ?? проверяется условие

echo "" === null; // false

то есть строгое равенство первого аргумента значению null, а не просто пустое значение
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Это не тернарный оператор, а оператор слияния (Null coalescing). И определяется он не по слабому равенству, а по тождественности:
It returns its first operand if it exists and is not NULL; otherwise it returns its second operand.
Как видите, в оригинальном тексте речь идёт не о равенстве с NULL, а о том, что значение не является NULL.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽