>  기사  >  백엔드 개발  >  PHP의 배열에 문자열이 있는지 확인하는 방법

PHP의 배열에 문자열이 있는지 확인하는 방법

PHPz
PHPz원래의
2023-04-20 09:10:53702검색

PHP에서 배열을 사용할 때 배열에 요소가 존재하는지 확인하는 것은 일반적인 요구 사항입니다. 배열의 요소가 정수 또는 부동 소수점 숫자인 경우 in_array() 함수를 사용하여 해당 요소가 배열에 포함되어 있는지 확인할 수 있습니다. 그런데 배열에 문자열이 포함되어 있는지 확인할 때 함수가 제대로 작동하지 않습니다.

그렇다면 PHP 배열에 문자열이 포함되어 있는지 어떻게 확인해야 할까요?

방법 1: in_array() 함수를 사용하여

$fruits = array("apple", "banana", "orange");
if (in_array("apple", $fruits)) {
    echo "苹果在数组中";
} else {
    echo "苹果不在数组中";
}

를 결정합니다. 위 코드에서 in_array() 함수의 첫 번째 매개 변수는 찾을 요소이고 두 번째 매개 변수는 검색할 배열입니다. 이 함수는 발견된 요소가 배열에 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

그러나 찾고 있는 것이 문자열인 경우 in_array() 함수는 문자열의 특정 부분을 비교하는 것이 아니라 전체 요소로 문자열을 비교합니다. 이는 배열에 찾고 있는 문자열의 일부인 요소가 포함되어 있으면 in_array() 함수가 여전히 false를 반환한다는 것을 의미합니다. 따라서 in_array() 함수는 PHP 배열에 문자열이 포함되어 있는지 여부를 정확하게 확인할 수 없습니다.

방법 2: array_search() 함수를 사용하여

$fruits = array("apple", "banana", "orange");
$key = array_search("apple", $fruits);
if ($key !== false) {
    echo "苹果在数组中,键名为:" . $key;
} else {
    echo "苹果不在数组中";
}

array_search() 함수가 in_array() 함수와 유사하고 배열에서 지정된 값을 찾는 데 사용되는지 확인합니다. 차이점은 array_search() 함수가 true/false 대신 배열에 있는 요소의 키 이름을 반환한다는 것입니다. 찾은 요소가 배열에 없으면 false를 반환합니다.

array_search() 함수를 사용할 때 이 함수는 엄격하고 대소문자를 구분한다는 점에 유의하세요. 즉, 문자열이 모두 대문자인 배열에서 소문자 문자열을 검색하면 array_search() 함수는 동일하더라도 false를 반환합니다.

방법 3: in_array() 및 array_map() 함수를 함께 사용하여

function array_value_exists($needle, $haystack) {
    return in_array($needle, array_map('strtolower', $haystack));
}
를 결정합니다.

이 방법은 in_array() 및 array_map() 함수를 함께 사용하여 배열의 모든 문자열을 소문자로 변환하고 변환 후 검색합니다. 배열에 지정된 문자열입니다. 따라서 문자열이 대문자이든 소문자이든 배열에서 찾을 수 있습니다.

결론

PHP에서는 배열을 사용할 때 실제 상황에 따라 배열에 문자열이 포함되어 있는지 확인하는 방법을 다르게 선택해야 합니다. 일치해야 하는 문자열을 사용자가 입력한 경우 대문자 사용으로 인한 문제를 피하기 위해 세 번째 방법을 사용해야 하는지 고려해야 합니다.

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

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