我很好奇是否可以在不同的系统上用php中的bindec方法生成相同的结果。
问题是,我的功能(使用bindec方法)在我的Windows 7 64位机器上测试时效果很好,但是当我将代码传输到我的Web服务器(运行linux)时,我得到了不同的结果。我已将问题缩小到bindec方法,因此我知道它导致了问题。
谢谢, 罗布
这是功能。我需要XOR运算符,但这在我的机器和服务器上产生了不同的结果,所以我自己写了一下,看看它是否有效。
function MyXOR($input, $key){
$bin_data = decbin($input);
$bin_key = decbin($key);
$result_string = "";
$len_data = strlen($bin_data);
$len_key = strlen($bin_key);
for($i = 0; $i < $len_data; $i++){
if($bin_data{$i} == $bin_key{$i % $len_key}){
$result_string .= 0;
} else {
$result_string .= 1;
}
}
return bindec($result_string);
}