Автор оригинала: David Wong.
Сегодня, когда мы имеем дело с циклом в php , существует операция сравнения, но результат не был предсказан сам по себе. Поэтому я отследил это и обнаружил, что при сравнении строк с целыми числами строки преобразуются в целые числа, а затем сравниваются. Это не проблема в строго типизированных языках, таких как Java и c, потому что они преобразуют строки и сравнивают их, но в слабом типе, таком как php, когда вы можете сравнивать их напрямую, у вас возникает проблема.
$a = Dream home;
if($a==0){
Echo "equals";
}else{
Echo "does not equal";
}Например, следующий код, на первый взгляд, будет выводить не равный, потому что $a по нашему пониманию должен быть истинным баром, он должен быть 1 баром, так как ему не равно. Но результат одинаков. Поскольку $a преобразуется в целое число, преобразование начинается с первого символа и преобразуется в 0, если это не целое число.
Например, следующий пример:
$a = Dream Back to Hometown 1;
if(0==$a){
Echo "equals";
}else{
Echo "does not equal";
}Это все равно приведет к равному результату, потому что первое слово сна не является целым числом, поэтому оно преобразуется в 0.
$a = 1 Dream Back to Home;
if(0==$a){
Echo "equals";
}else{
Echo "does not equal";
}Этот вывод не равен, потому что первый равен 1, он будет преобразован в 1, а затем сравнен, поэтому он не равен.
Это относится к php, который дает нам достаточно свободы и простоты для изучения, но мы должны заложить прочную основу и уделять внимание деталям. Детали определяют успех или неудачу.
резюме
Выше приведен метод сравнения строк и целых чисел в PHP, введенный Xiaobian. Я надеюсь, что это будет полезно для вас. Если у вас есть какие-либо вопросы, пожалуйста, оставьте мне сообщение, и Сяобянь ответит вам вовремя. Большое вам спасибо за вашу поддержку в развитии peer.
Оригинал: “https://developpaper.com/the-operating-method-of-comparing-strings-with-integers-in-php/”