今天我刚刚做了一个有趣的发现,同时测试了在php中按比例计算发生的事情INF ^ 0(^=> Bitwise Operator for Exclusive OR(XOR))是什么让我int(-9223372036854775808)在64位系统中得到了最大可能的负值.
但后来我问自己:"为什么当"正无限"意味着9223372036854775807(63位1有一个领先0)和0(64位0=> 0 xor 0 = 0)时XOR的结果为负,但PHP的无限值是什么,什么是它背后的计算?当我使用"负无限"时,为什么我得到一个(正确的?)负值(1一个领先0于0 => 1 xor 0 = 1?).
另一个有趣的观点是,这只发生在PHP版本5.5.9-1上,而不是发生在例如5.3.x上.和5.6.x(我已经测试过了)!也许有人知道那里会发生什么?在三个版本上测试它,但我的(5.5.9-1)给出了这些结果:
只是为了让你们知道,这只是一个抽象的游戏,我为了好玩而做,但我发现它很有趣.也许有人可以在这帮助或解释我错误的想法?告诉我,如果有人需要更多关于任何事情的信息!
编辑:相应于jbafford,获得完整的答案会很棒,所以我只想引用他: why does 5.5 and 5.6 result in PHP_INT_MIN, and everything else return 0?
我发现了一个有趣的问题,来自JQuery的AJAX请求的回显值,我没有回答:
我data == "LOCKED"永远不会回归真(第13行)!
JQuery - >按下单击时调用AJAX:
$.ajax({
url: "ajax/login_ajax_call.php",
method: "POST",
data: { user: usr, password: pwd }
}).done(function(data){
if(data == true || data == "true"){ // -> this works with data beeing true (bool) or "true" (string)
$("#form_submit").submit();
}
else{
console.log(jQuery.type(data)); // -> (string)
console.log(data); // -> "LOCKED"
console.log(jQuery.type("LOCKED")); // -> (string)
if(data == "LOCKED"){ // also tried "===" but it never returns true
[...]
}
else{
[...]
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
PHP(1) - >获取类返回的值(PHP(2)): …