javascript - PHP 与 JavaScript,按位运算符

标签 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

这里出了什么问题?

最佳答案

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

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

关于javascript - PHP 与 JavaScript,按位运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30423538/

相关文章:

javascript - ~ 和 - Javascript 运算符问题

javascript - 无法设置新的 Faker 库

javascript - bcrypt.compare 无法在 nextjs 中设置响应 header

javascript - 如何让 countUp Javascript 包正常工作?

php - 子查询和主查询中的日期之前

php - 如何通过 XMLHTTPRequest 对象发布值?

javascript - 后台流 Windows 8?

php - 从 2 个不适用于 php mysql 的表中选择

c - 用C递归计算整数sqrt

c - C 中的 XOR 运算符