>백엔드 개발 >PHP 튜토리얼 >PHP 비교 연산자를 사용하여 다양한 유형을 비교하는 방법

PHP 비교 연산자를 사용하여 다양한 유형을 비교하는 방법

伊谢尔伦
伊谢尔伦원래의
2017-06-21 14:22:091673검색

1. PHP 비교 연산자

$a == $a가 $b이면 $b는 TRUE입니다.
$a === $b 합동 $a가 $b와 같고 유형이 같은 경우 TRUE입니다. (PHP 4에서 도입됨)
$a != $a가 $b와 같지 않으면 $b는 TRUE와 같지 않습니다.
$a a8093152e673feb7aba1828c43532094 $a가 $b와 같지 않으면 $b는 TRUE가 아닙니다.
$a !== $b non-congruent $a가 $b와 같지 않거나 유형이 다른 경우 TRUE입니다. (PHP 4에만 해당)
$a 98d32c158eb2707a628f66b516ae16e1 $a가 $b인 경우 $b는 TRUE보다 큽니다.
$a af15da4005eb45843333d87d128e264e= $a가 $b보다 크거나 같으면 $b는 TRUE보다 크거나 같습니다.

PHP 비교 연산자가 정수를 문자열과 비교하면 문자열이 정수로 변환됩니다. 두 숫자 문자열을 비교하는 경우 정수로 비교하십시오. 이 규칙은 스위치 문에도 적용됩니다.

<?php  
var_dump(0 == "a"); // 0 == 0 -> true  
var_dump("1" == "01"); // 1 == 1 -> true  
switch ("a") {  
case 0:  
echo "0";  
break;  
case "a": // never reached because "a" is already matched with 0  
echo "a";  
break;  
}  
?>

피연산자의 종류가 다른 경우에는 다음 표에 따라 순서대로 비교해 보세요.

2. PHP 비교 연산자는 다양한 유형을 비교합니다.

null 또는 문자열 문자열 숫자 또는 어휘 비교를 위해 NULL을 ""로 변환합니다.
bool 또는 null 다른 유형은 bool로 변환됩니다. FALSE < TRUE
객체 객체 내장 클래스는 다음과 같습니다. 자신만의 비교를 정의하세요. 동일한 클래스와 배열의 속성은 동일한 방식으로 비교됩니다(PHP 4에서는). 문자열, 리소스 또는 숫자 문자열, 리소스 또는 숫자 변환 일반 수학에 따라 리소스를 숫자로 비교

배열 배열 멤버 수가 적은 배열은 더 작습니다. 피연산자 1의 키가 피연산자 2에 없으면 배열을 비교할 수 없으며, 그렇지 않으면 값이 하나씩 비교됩니다


배열 다른 유형의 배열은 항상 더 큽니다.

객체 다른 유형의 객체는 항상 더 큽니다.

<?php  
// 数组是用标准比较运算符这样比较的  
function standard_array_compare($op1, $op2)  
{  
if (count($op1) < count($op2)) {  
return -1; // $op1 < $op2  
} elseif (count($op1) > count($op2)) {  
return 1; // $op1 > $op2  
}  
foreach ($op1 as $key => $val) {  
if (!array_key_exists($key, $op2)) {  
return null; // uncomparable  
} elseif ($val < $op2[$key]) {  
return -1;  
} elseif ($val > $op2[$key]) {  
return 1;  
}  
}  
return 0; // $op1 == $op2  
}  
?>

PHP 비교 연산자의

삼항 연산

연산자

또 다른 조건 연산자는 "?:"(또는 삼항) 연산자입니다. .

<?php  
// Example usage for: Ternary Operator  
$action = (empty($_POST[&#39;action&#39;])) ? &#39;default&#39; : $_POST[&#39;action&#39;];  
// The above is identical to this if/else statement  
if (empty($_POST[&#39;action&#39;])) {  
$action = &#39;default&#39;;  
} else {  
$action = $_POST[&#39;action&#39;];  
}  
?>

Expression (expr1) ? (expr2) : (expr3)은 expr1이 TRUE로 평가될 때 expr2 값을 가지며 expr1이 FALSE로 평가될 때 expr3을 갖습니다.

참고: 삼항 연산자는 명령문이므로 평가는 변수가 아니라 명령문의 결과입니다. 이는 참조로 변수를 반환하려는 경우 중요합니다. 참조로 반환하는 함수의 return $var == 42 ? $a : $b; 문은 작동하지 않으며 향후 버전의 PHP에서는 이에 대한 경고가 표시됩니다.

식별 연산자는 논리 비교를 실현합니다

a. 직접 OR인 다중 관계(사용자 입력)

time>12
time=9

b. 단일 결합 관계(사용자 입력)

time>12&&time<25

c. =, =, !=)

d. 앞쪽을 언로드하려면 비교 대상이 필요합니다.

위 내용은 PHP 비교 연산자를 사용하여 다양한 유형을 비교하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.