PHP

PHP 7 이하에서 == 연산자와 PHP8에서 변경되는 점

마리오64 2020. 8. 2. 14:23

php 8은 다양한 변경점들이 있습니다.

그 중에서 reddit에 올라온게 있었습니다.

 

PHP 7.4 이하 버전에서는

<?php
if("aaaa"  == 0 ){

 echo "true!"

}

== 연산자로 비교시에 

느슨한 타입검사가 되기때문에 피해야됩니다.

 

PHP 8 의 변경점 제안 중

PHP RFC: Saner string to number 가 반영 되어

 

PHP 8 이전과 이후 차이점을 보면

== 연산자로 숫자와 문자열 비교시 제대로 됩니다.

 

그래도 다른 타입에서는 여전히 느슨한 검사이기 떄문에

===, !== 연산자를 이용하는 것이 버그에방과 보안 측면에서 좋을 것입니다.