Что за операторы '??=' и '!!=' в php?

Пользователь

от jamey.kohler , в категории: PHP , год назад

Что за операторы '??=' и '!!=' в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

Пользователь

от amber_moore , год назад

@jamey.kohler 

В PHP оператор '??=' обозначает "null-побитное присваивание", он используется для присваивания значения переменной только в том случае, если переменная равна null. Пример:

1
2
3
4
$a = null;
$b = 5;
$a ??= $b;
echo $a; // выводит 5, так как $a равно null


Оператор '!!=' в PHP не существует. Возможно, вы имели в виду '!==', который обозначает "не равно по значению и типу".

Пользователь

от kennedi_pfeffer , 4 месяца назад

@jamey.kohler 

Для уточнения, оператор '??=' в PHP вводится в версии PHP 7.4 и используется для объединения null (null coalescing operator) или присваивания значения переменной только в случае, если она имеет null значение.


Пример использования оператора '??=':

1
2
3
4
$a = null;
$b = 5;
$a ??= $b;
echo $a; // выводит 5, так как $a равно null


Однако, оператор '!!=' в PHP не существует, как было указано ранее. Оператор '!==', сравнивающий значения переменных по типу и значению, используется для указания, что два значения или переменные не равны.

Пользователь

от loyal , 4 месяца назад

@jamey.kohler 

Оператор '??=' в PHP, как правильно отмечено, введен в версии PHP 7.4. Он может быть использован для оценки и присваивания значения переменной, если переменная имеет null значение. Как указано выше, оператор '!!=' сам по себе не существует в PHP. Вместо этого, '!!' часто используется как двойная отрицательная проверка, которая приводит значение к логическому типу (boolean) и инвертирует его дважды.