로그인 회원가입
모두인포
전체IT경제사회생활스포츠시사여행연애

PHP 비교(Comparison)

lmkfox · 2025-07-26 · 조회 0
PHP 비교(Comparison)
1. PHP 주요 비교 연산자 연산자 의미 예시 설명 == 값이 같음 $a == $b 타입 무시하고 값만 비교 === 값과 타입이 같음 $a === $b 타입까지 동일해야 참 != 값이 다름 $a != $b 타입 무시하고 값이 다르면 참 <> !=와 동일 $a <> $b 값이 다르면 참 !== 값 또는 타입이 다름 $a !== $b 하나라도 다르면 참 > 왼쪽이 더 큼 $a > $b < 오른쪽이 더 큼 $a < $b >= 왼쪽이 크거나 같음 $a >= $b <= 오른쪽이 크거나 같음 $a <= $b <=> 스페이스쉽 연산자 $a <=> $b 왼쪽이 작으면 -1, 같으면 0, 크면 1 반환 2. 느슨한 비교 ( == ) 타입이 다르더라도 값이 같으면 참으로 판단 var_dump(5 == '5'); // true var_dump(0 == false); // true var_dump('' == 0); // true PHP는 자동으로 타입을 변환하여 비교합니다. 실수로 참/거짓 판별이 왜곡될 수 있으므로 주의가 필요합니다. 3. 엄격한 비교 ( === ) 타입과 값이 모두 같아야 참 var_dump(5 === '5'); // false (정수 vs 문자열) var_dump(0 === false); // false (정수 vs 불리언) var_dump(5 === 5); // true 엄격한 비교는 예상치 못한 형변환 오류를 방지하므로 권장되는 방식입니다. 4. 다름 비교 ( != ,  !== ,  <> ) var_dump(5 != '5'); // false var_dump(5 !== '5'); // true - !=과 <>는 같음 - !==는 타입까지 확인하여 조금 더 안전한 비교 5. 크기 비교 ( > ,  < ,  >= ,  <= ) var_dump(10 > 5); // true var_dump(3 <= 3); // true - 정수, 실수 간 비교 가능 - 문자열도 비교 가능하지만 사전식 비교가 이루어짐 var_dump("apple" < "banana"); // true 6. 스페이스쉽 연산자 ( <=> ) – PHP 7+ echo 5 <=> 10; // -1 echo 10 <=> 10; // 0 echo 15 <=> 10; // 1 - 정렬 함수 또는 비교 정렬 알고리즘 구현에 유용 - 왼쪽이 작으면 -1, 같으면 0, 크면 1 반환 7. 문자열 비교 PHP는 문자열도 비교 가능합니다. 기본적으로 사전순 비교입니다. var_dump("abc" < "bcd"); // true var_dump("10" < "2"); // true (문자열로 비교되면 문자 기준) 문자열을 숫자로 변환하지 않고 비교하고 싶다면 **strict 연산자(===)**를 사용하거나 strcmp() 함수를 활용하세요. 8. 형변환이 포함된 비교 – 주의 필요 var_dump('abc' == 0); // true (문자열이 숫자 변환 실패 → 0 처리) var_dump('0abc' == 0); // true PHP는 비교 시 문자열을 숫자로 변환하려고 시도합니다. 예상치 못한 결과가 발생할 수 있으므로 주의해야 합니다. 9.  strcmp()  함수 문자열 비교에 안전하게 사용할 수 있는 함수입니다. strcmp("abc", "abc"); // 0 (같음) strcmp("abc", "abd"); // -1 strcmp("abc", "abb"); // 1 대소문자를 구분하는 비교이며, strcasecmp()는 대소문자 구분을 하지 않습니다. 10. 삼항 연산자와 비교 비교 연산은 자주 삼항 연산자와 함께 사용됩니다. $result = ($age >= 18) ? '성인' : '미성년자'; 정리 연산자 설명 자동 형변환 권장 여부 == 느슨한 비교 있음 지양 (예외적으로 사용 가능) === 엄격한 비교 없음 권장 !=, <> 값 다름 비교 있음 조건에 따라 사용 !== 값 또는 타입 다름 비교 없음 권장 <, >, <=, >= 크기 비교 있음 데이터 타입 인지 후 사용 <=> 비교 정렬 전용 있음 정렬에 적합 strcmp() 문자열 비교 함수 없음 안전하고 명확함 PHP에서 비교 연산은 단순한 값의 비교를 넘어서, 형변환과 타입에 대한 이해가 동반되어야 정확한 코드 작성이 가능합니다. 특히, == 사용 시 자동 형변환으로 인한 예외 상황을 반드시 고려해야 하며, 안전한 비교를 위해 ===를 기본으로 사용하는 것이 좋습니다.

댓글

아직 댓글이 없습니다.

로그인 후 댓글을 남길 수 있습니다.