Q&A

php if 조건문 이상한 점?... 두가지 스트링을 비교하는 == 문에서 이상한 작동이 있네요.

2017.10.13 07:14
224
0
<?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

  • 2017.10.13 07:18 #764058

    true == 'private' (참)

    true === 'private' (거짓)

  • 2017.10.13 07:32 #764090

    기진곰님 말씀처럼 애매한 곳에서는 자료형까지 비교하는 연산자(===, !==)를 사용하시는게 좋습니다.