PHP中的按位不是“〜”不起作用,“致命错误:......中不支持的操作数类型”

时间:2011-02-07 23:11:57

标签: php bit-manipulation

PHP Doc(http://php.net/manual/en/language.operators.bitwise.php)明确指出:

~ $a    Not  Bits that are set in $a are not set, and vice versa.

那么为什么我在尝试运行以下行时会出现致命错误?

~ $noResults;

TIA

3 个答案:

答案 0 :(得分:4)

您收到此错误是因为$noResults不是整数(或字符串,但这只是因为隐式类型转换)。

答案 1 :(得分:1)

~将处理数字和字符串,无法使其处理对象和数组。

并且必须设置要否定的变量。

 echo ~ $a;  // won't work

,而

$a = '';
echo ~ $a;  // will work

$a; echo ~$a; // will work too.

答案 2 :(得分:0)

我没有遇到任何问题:

$a = 5;
$a = ~ $a;
echo $a; // -6

你确定$noResults是一个整数吗?