>  기사  >  백엔드 개발  >  PHP는 문자열이 배열에 존재하는지 확인합니다.

PHP는 문자열이 배열에 존재하는지 확인합니다.

WBOY
WBOY원래의
2023-05-22 18:20:37723검색

PHP 개발을 하다 보면 문자열 배열에서 특정 문자열이 존재하는지 알아내야 하는 경우가 종종 있습니다. 이 작업은 매우 일반적입니다. 결국 많은 시나리오에서 특정 키워드를 기반으로 필터링하거나 필터링해야 합니다. 그렇다면 특정 문자열이 배열에 존재하는지 확인하는 방법은 무엇입니까? 이 기사에서는 몇 가지 실용적인 방법을 소개합니다.

방법 1: in_array 함수 사용

PHP에는 요소가 배열에 있는지 확인하는 데 사용되는 매우 편리한 in_array 함수가 내장되어 있습니다. 이 함수를 사용하면 배열에 문자열이 존재하는지 쉽게 확인할 수 있습니다. in_array 함수를 사용하기 위한 기본 구문은 다음과 같습니다.

in_array($needle, $haystack); 

그 중 $needle은 검색할 문자열, $haystack은 검색할 배열입니다. $haystack 배열에 $needle이 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

예를 들어 다음은 세 개의 문자열로 구성된 배열입니다. "blue"라는 문자열이 배열에 있는지 확인하려고 합니다.

$colors = array("red", "green", "blue");
if(in_array("blue", $colors)){
    echo "字符串'blue'存在于数组中";
} else {
    echo "字符串'blue'不存在于数组中";
}

출력 결과는 다음과 같습니다. 'blue'라는 문자열이 배열에 존재합니다

In 또한 in_array는 엄격하게 일치하는지 여부를 나타내는 데 사용되는 세 번째 매개변수인 $strict도 지원합니다. 기본적으로 이 매개변수는 false입니다. 즉, $needle이 $haystack에 나타나면 일치가 성공한 것으로 간주됩니다. 그러나 세 번째 매개변수가 true로 설정되면 $needle이 $haystack에 나타나야 할 뿐만 아니라 $needle과 $haystack의 요소가 동일한 유형이어야 합니다. 예:

$a = array(1, 2, '3');
if (in_array('3', $a, true)) {
    echo '"3" is in $a with strict check';
} else {
    echo '"3" is not in $a with strict check';
}

출력 결과: "3"은 엄격한 검사를 통해 $a에 없습니다

방법 2: array_search 함수 사용

array_search 함수는 배열에서 값을 검색하고 키를 반환하는 데 사용됩니다. 값의 이름입니다. in_array 함수와 달리 이 함수는 true 또는 false 값 대신 일치하는 키 이름을 반환합니다. 요소를 찾을 수 없으면 false를 반환합니다. 다음은 array_search 함수를 사용하기 위한 기본 구문입니다.

array_search($needle, $haystack); 

여기서 $needle은 검색할 문자열이고 $haystack은 검색할 배열입니다. $haystack 배열에 $needle이 있으면 해당 요소에 해당하는 키 이름을 반환하고, 그렇지 않으면 false를 반환합니다.

예를 들어 다음은 세 개의 문자열로 구성된 배열입니다. "blue"라는 문자열이 배열에 있는지 확인하려고 합니다.

$colors = array("red", "green", "blue");
$key = array_search("blue", $colors);
if ( $key !== false ) {
    echo "字符串'blue'存在于数组中,对应键名为".$key;
} else {
    echo "字符串'blue'不存在于数组中";
}

출력 결과는 다음과 같습니다. 'blue'라는 문자열이 배열에 존재합니다. 키 이름은 2

방법 3: in_array와 array_map의 조합을 사용하세요

문자열이 여러 배열에 존재하는지 확인하려면 하나의 배열에서만 검색하는 대신 in_array와 array_map 함수를 조합하여 사용할 수 있습니다. 이 방법을 사용하기 위한 기본 구문은 다음과 같습니다.

function check_string_one_of_many_arrays($string, $arrays) {
    return count(array_filter($arrays, function($array) use ($string) {
        return in_array($string, $array);
    })) > 0;
}

그 중 $string은 찾아야 할 문자열이고, $arrays는 찾아야 할 배열 모음입니다. 이 함수는 문자열이 여러 배열에 존재하는지 여부를 나타내는 부울 값을 반환합니다.

예를 들어, 이제 $colors1과 $colors2라는 두 개의 배열이 있고 여기에 "blue"라는 문자열이 있는지 확인해야 합니다.

$colors1 = array("red", "green", "blue");
$colors2 = array("yellow", "black", "white");
if(check_string_one_of_many_arrays("blue", array($colors1, $colors2))){
    echo "字符串'blue'存在于数组中";
} else {
    echo "字符串'blue'不存在于数组中";
}

출력 결과는 다음과 같습니다. 'blue'라는 문자열이 배열에 존재합니다

요약

위의 내용은 문자열이 배열에 존재하는지 확인하는 세 가지 일반적인 방법입니다. 다양한 시나리오의 요구 사항에 따라 다양한 방법을 사용하도록 선택할 수 있습니다. 어떤 방법을 사용하든 배열에 문자열이 존재하는지 판단하는 것은 매우 간단하고 이해하기 쉬우며 일상적인 PHP 프로그래밍에 널리 적용할 가치가 있습니다.

위 내용은 PHP는 문자열이 배열에 존재하는지 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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