这个〜运算符在这里意味着什么?

ope*_*rog 14 php

例:

set_error_handler(array($this, 'handleError'), E_ALL & ~E_STRICT & ~E_WARNING & ~E_NOTICE);
Run Code Online (Sandbox Code Playgroud)

这意味着什么?

jas*_*son 22

它是按位非运算符(也称为"补码").这是设置的位~ $a是未设置的位$a.

那么

E_ALL & ~E_STRICT & ~E_WARNING & ~E_NOTICE
Run Code Online (Sandbox Code Playgroud)

是设置的位E_ALL和未设置的位E_STRICT,E_WARNINGE_NOTICE.这基本上表示除严格,警告和通知错误之外的所有错误.


sth*_*sth 16

它是bitwise-not运算符.例如,具有二进制表示的数字的按位否定01011110将是10100001; 每一位都翻转到相反的位置.


Phi*_*rry 6

按位(&,|,〜)和非按位(&&,||,!)运算符之间的区别在于,按位应用于整数中的所有位,而非按位则将整数视为单个"true"(非零)或"假"(零)值.

说,$flag_1 = 00000001$flag_2 = 00000010.无论是"真"非位运算,($flag_1 && $flag_2是"真"),而结果$flag_1 & $flag_2将是00000000和的结果$flag_1 | $flag_2会是00000011 ~$flag_2是11111101,当其按位与运算的运行结果将清除该位位置(xxxxxx0x).$flag_2按位或运算结果将设置该位位置(xxxxxx1x).