PHP与JavaScript,按位运算符

时间:2015-05-24 12:34:04

标签: javascript php 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

这里有什么问题?

1 个答案:

答案 0 :(得分:2)

在PHP中,您需要手动转换为整数

function myFunc($a, $b, $c)
{
    return ((int)$a ^ ((int)$b | (~(int)$c)));
}