PHP中函数参数表达式内&符号的作用是什么?
代码中
&符号的作用解释 这里的&是按位与运算符,和你提到的按引用传递完全是两回事。
两种&用法的区分:
- 按引用传递的
&:只会出现在函数定义的参数前(比如function test(&$param)),或者旧版PHP调用函数时的变量前(这种写法现已废弃),作用是让函数直接操作原变量而非其副本。 - 按位与的
&:作为双目位运算符,会对两个整数的二进制位执行与运算——对应位同时为1时结果位为1,否则为0。
结合这段代码的场景:
PHP的错误级别常量都是2的幂次(比如E_ERROR对应1=2^0,E_WARNING对应2=2^1),pow(2, $i)的作用是生成某一个错误级别的二进制掩码。$errLvl & pow(2, $i)则是用来判断$errLvl中是否包含该错误级别:如果运算结果不为0,说明当前错误级别包含这个类型,再将结果传给FriendlyErrorType函数,转换成易读的错误类型描述。
内容的提问来源于stack exchange,提问作者user3425506
相关产品推荐
相关产品推荐

