Генерирование одинакового результата с помощью bindec в разных системах - PullRequest
1 голос
/ 15 октября 2011

Мне любопытно, можно ли генерировать одинаковые результаты с помощью метода 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);
}
...