php if 조건문 이상한 점?... 두가지 스트링을 비교하는 == 문에서 이상한 작동이 있네요.
<?php class trueTest { public static function test() { $returnString = self::returnStringFunction(); if($returnString == 'private') { echo "true"; } else { echo "false"; } } public static function returnStringFunction() { return true; } } trueTest::test();
이렇게 코드를 짰습니다.
해당 코드에서 true; 으로 리턴 되는 과정에서 상단 test안에에서 조건문을 실행해보니 값이
true string 이 echo에 의해서 실행되었더군요..
분명히 두개를 비교하라는 연산자를 썼는데 이런경우도 있나요?
람보
Lv. 17
댓글 2
true == 'private' (참)
true === 'private' (거짓)
기진곰님 말씀처럼 애매한 곳에서는 자료형까지 비교하는 연산자(===, !==)를 사용하시는게 좋습니다.