Мне любопытно, можно ли генерировать одинаковые результаты с помощью метода bindec в php на разных системах.
Дело в том, что моя функция (которая использует метод bindec) работает отлично, когда я тестирую намоя 64-битная машина с Windows 7, но когда я передаю код на мой веб-сервер (работает под управлением 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);
}