PHP 개발을 하다 보면 문자열 배열에서 특정 문자열이 존재하는지 알아내야 하는 경우가 종종 있습니다. 이 작업은 매우 일반적입니다. 결국 많은 시나리오에서 특정 키워드를 기반으로 필터링하거나 필터링해야 합니다. 그렇다면 특정 문자열이 배열에 존재하는지 확인하는 방법은 무엇입니까? 이 기사에서는 몇 가지 실용적인 방법을 소개합니다.
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에 없습니다
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
문자열이 여러 배열에 존재하는지 확인하려면 하나의 배열에서만 검색하는 대신 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!