при сравнении двух строк состоящих из набора чисел длины > 16, чтобы вот эти две считались разными:
'10000000000000001' != '10000000000000000'
а сейчас, в 5.3.0 [win32] оператор сравнивания выдает истину
Здравствуйте, MacJoseph, Вы писали:
MJ>при сравнении двух строк состоящих из набора чисел длины > 16, чтобы вот эти две считались разными:
MJ>'10000000000000001' != '10000000000000000'
http://docs.php.net/manual/ru/function.strcmp.php
Здравствуйте, MacJoseph, Вы писали:
MJ>при сравнении двух строк состоящих из набора чисел длины > 16, чтобы вот эти две считались разными:
MJ>'10000000000000001' != '10000000000000000'
MJ>а сейчас, в 5.3.0 [win32] оператор сравнивания выдает истину
Ну так нужно использовать оператор сравнения с сохранением типа:
<?php
print intval('10000000000000001' != '10000000000000000');
print " ";
print intval('10000000000000001' !== '10000000000000000');
Вывод 0 1
Здравствуйте, monax, Вы писали:
M>Здравствуйте, MacJoseph, Вы писали:
MJ>>при сравнении двух строк состоящих из набора чисел длины > 16, чтобы вот эти две считались разными:
MJ>>'10000000000000001' != '10000000000000000'
MJ>>а сейчас, в 5.3.0 [win32] оператор сравнивания выдает истину
M>Ну так нужно использовать оператор сравнения с сохранением типа:
M>M><?php
M>print intval('10000000000000001' != '10000000000000000');
M>print " ";
M>print intval('10000000000000001' !== '10000000000000000');
M>
M>Вывод 0 1
это конечно хорошо, а как быть с функциями стандартной библиотеки юзающие оператор без сохранения типа, напр in_array, сделать свои?
сейчас адаптирую один проект под нового поставщика услуг, идентификатор пользователя там увеличился на пару символов, в результате вся логика слетела.
неприятно такое обнаруживать, все больше разочаровываюсь в php.
Здравствуйте, MacJoseph, Вы писали:
MJ>это конечно хорошо, а как быть с функциями стандартной библиотеки юзающие оператор без сохранения типа, напр in_array, сделать свои?
MJ>сейчас адаптирую один проект под нового поставщика услуг, идентификатор пользователя там увеличился на пару символов, в результате вся логика слетела.
MJ>неприятно такое обнаруживать, все больше разочаровываюсь в php.
PHP ещё тот ад, но документацию читать тоже не мешает.
Как думаешь в сигнатуре
bool in_array ( mixed $needle , array $haystack [, bool $strict ] )
что обозначает последний опциональный параметр?