php의 배열 비교 연산자에 관한 질문입니다.
글쓴이: luminas / 작성시간: 화, 2006/11/14 - 3:36오후
php에는 배열 비교 연산자 중 '=='와 '==='가 있더군요.
이 두 연산자의 차이를 알아보기 위해 다음과 같은 코드를 짜 봤습니다.
<?php
$var1 = array(1, 2, 3);
$var2 = array(1, 2, 3);
$var3 = array(1, 3, 2);
echo ($var1 == $var2);
echo ($var1 === $var2);
echo ($var1 == $var3);
echo ($var1 === $var3);
?>
이 중 앞의 두 값은 true를, 뒤의 두 값은 false를 리턴하더군요.
제가 보고 있는 책에는 '=='에 대하여 "$a와 $b가 같은 요소를 가지고 있으면 true를 리턴한다'라고,
'==='에 대하여는 "$a와 $b가 동일한 요소를 동일한 순서로 가지고 있으면 true를 리턴한다'라고 씌여 있습니다.
이 말에 따르면 4번째 비교문은 true를 리턴해야 하는데 그렇지 않더군요.
이 둘의 차이점이 무엇인가요..?
Forums:
아는데로 알려드리자면..
배열비교를 하는데 ==와 ===를 쓴다는건 처음보네요;
둘다 변수를 비교할때 씁니다만 ===는 엄격한 비교를 할때 씁니다
==는 내용만 같으면 TRUE를 반환하는 반면,
===는 타입까지 같아야 TRUE를 반환합니다
저는 배열비교를 할때 array_diff()등의 함수를 씁니다
타입비교는 아래를 참조하세요
http://kr.php.net/manual/kr/types.comparisons.php
댓글 달기