Что делает ~ с переменной в php?

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

от hanna_jacobson , в категории: PHP , 10 месяцев назад

Что делает ~ с переменной в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от jett , 10 месяцев назад

@hanna_jacobson 

В PHP символ ~ (тильда) используется как оператор побитового отрицания для инвертирования всех битов в числе. Например, если число 42 представлено в бинарном виде как 00101010, то его инверсия ~42 будет 11010101, что соответствует десятичному числу -43.


Таким образом, выражение $a = ~$ $b; присваивает переменной $a значение побитового отрицания переменной $b.


Пример:

1
2
3
$a = 42; // бинарное представление 00101010
$b = ~$a; // инверсия всех битов, с результатом -43 в десятичной системе
echo $b; // выводит -43