PHP 与 JavaScript,按位运算符
PHP vs JavaScript, Bitwise Operators
我在JavaScript中有一个函数:
function myFunc(a, b, c)
{
return (a ^ (b | (~c)));
}
等价于 PHP:
function myFunc($a, $b, $c)
{
return ($a ^ ($b | (~$c)));
}
他们的结果不一样:
myFunc('123', '4434', '355'); // PHP = ��� (Unknown Characters)
myFunc('123', '4434', '355'); // JavaScript = -91
这里有什么问题?
在PHP中你需要手动转换为整数
function myFunc($a, $b, $c)
{
return ((int)$a ^ ((int)$b | (~(int)$c)));
}
我在JavaScript中有一个函数:
function myFunc(a, b, c)
{
return (a ^ (b | (~c)));
}
等价于 PHP:
function myFunc($a, $b, $c)
{
return ($a ^ ($b | (~$c)));
}
他们的结果不一样:
myFunc('123', '4434', '355'); // PHP = ��� (Unknown Characters)
myFunc('123', '4434', '355'); // JavaScript = -91
这里有什么问题?
在PHP中你需要手动转换为整数
function myFunc($a, $b, $c)
{
return ((int)$a ^ ((int)$b | (~(int)$c)));
}