오늘 PHP에서 루프를 다룰 때 비교 연산이 있었는데 결과가 전혀 예상과 달랐기 때문에 추적해 보니 문자열을 정수와 비교할 때 문자열이 정수로 변환되는 것을 발견했습니다. 그런 다음 비교하십시오. 이는 문자열을 변환한 후 비교하기 때문에 Java 및 C와 같은 강력한 유형의 언어에서는 문제가 되지 않습니다. 그러나 PHP와 같은 약한 유형의 언어에서는 직접 비교가 가능한 경우 문제가 발생합니다. 만들어진.
$a = "梦回故里"; if($a==0){ echo "等于"; }else{ echo "不等于"; }
예를 들어 다음 코드에서 처음에는 같지 않은 결과가 출력될 것이라고 생각했습니다. 왜냐하면 $a는 우리가 이해한 대로 true여야 하고 1이어야 하므로 어쨌든 같지 않기 때문입니다. 그러나 결과는 같습니다. $a는 정수로 변환되므로 첫 번째 문자부터 변환이 시작됩니다. 정수가 아닌 경우 0으로 변환됩니다.
예를 들어 다음 예는 #🎜 🎜#
$a = "梦回故里1"; if(0==$a){ echo "等于"; }else{ echo "不等于"; }
$a = "1梦回故里"; if(0==$a){ echo "等于"; }else{ echo "不等于"; }
PHP中文网을 방문하세요!
위 내용은 PHP에서 문자열과 정수 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!