>백엔드 개발 >PHP 문제 >PHP에서 문자열이 같은지 비교하는 방법은 무엇입니까?

PHP에서 문자열이 같은지 비교하는 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2021-12-31 18:41:225072검색

문자열이 같은지 비교하는 PHP 방법은 다음과 같습니다. 1. "String 1==String 2" 문을 사용합니다. 2. "String 1=== String 2" 문을 사용합니다. 3. "strcmp(Character) String 1, String 2)" 문, 4. "strcasecmp(String 1, String 2)" 문 등을 사용합니다.

PHP에서 문자열이 같은지 비교하는 방법은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

두 문자열을 비교하여 동일한지 확인

일반적으로 !=, =를 사용할 수 있습니다. = 두 개체를 비교한다는 것은 두 개체가 반드시 모두 문자열일 필요는 없고 정수일 수도 있기 때문에 두 개체임을 의미합니다. 예를 들어

$a = "joe";
$b = "jerry";
if ($a != $b)
{
    echo "不相等";
}
else
{
    echo "相等";
}

!==, ===(추가 등호 표시 가능)를 사용하여 비교하는 경우 두 객체의 유형이 엄격하게 동일해야 true를 반환합니다. 그렇지 않으면 ==, !=를 사용합니다. , 문자열은 비교를 위해 자동으로 해당 유형으로 변환됩니다.

22 == "22"; // 返回 true
22 === "22"; // 返回false

이로 인해 우리 프로그램에서는 예상치 못한 "사고"가 자주 발생합니다:

0 == "我爱你"; // 返回true
1 == "1 我爱你";// 返回true

php 튜토리얼 문자열 비교를 위한 함수 세트도 있습니다: strcmp, strcasecmp, strncasecmp(), strncmp(), 반환 값 설명:

PHP에서 문자열이 같은지 비교하는 방법은 무엇입니까?

strcmp는 대소문자 구분(예: 대소문자 구분) 문자열 비교에 사용됩니다.

echo strcmp("abcdd", "abcde"); // 返回 1 (>0), 比较的是 "b"和"b"

strcasecmp는 대소문자를 구분하지 않는 문자열 비교에 사용됩니다.

echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比较的是"d"和"e"

strncmp 세 번째 매개변수는 비교할 길이입니다.

echo strncmp("abcdd", "abcde", 3); // 返回 1 (>0), 比较了 abc 和 abc

strncasecmp는 문자열의 시작부터 대소문자 구분 없이 문자열의 일부를 비교하는 데 사용됩니다. 세 번째 매개변수는 비교할 길이입니다.

echo strncasecmp("abcdd", "abcde", 3); // 返回 0, 比较了 abc 和 abc, 由于不区分大小写,所以两者是相同的。

또 다른 상황은 단순히 문자열 크기를 비교하는 것만으로는 미리 결정된 요구 사항을 충족할 수 없다는 것입니다. 예를 들어 평소와 같이 10.gif가 5.gif보다 낫습니다. 크지만 위 함수를 적용하면 -1이 반환되는데, 이는 10.gif가 5.gif보다 낫습니다. 이러한 상황에서 PHP는 자연스럽게 대조되는 두 가지 기능인 strnatcmp 및 strnatcasecmp를 제공합니다.

echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0)
echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)

권장 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP에서 문자열이 같은지 비교하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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