> 백엔드 개발 > PHP 문제 > PHP가 특정 문자열이 배열에 존재하는지 여부를 확인하는 방법 살펴보기

PHP가 특정 문자열이 배열에 존재하는지 여부를 확인하는 방법 살펴보기

PHPz
풀어 주다: 2023-04-25 10:11:33
원래의
754명이 탐색했습니다.

PHP에서는 배열에 특정 문자열이 포함되어 있는지 확인해야 하는 경우가 많습니다. 이 기사에서는 PHP가 배열에 특정 문자열이 있는지 여부를 확인하는 방법과 배열의 요소를 찾고 필터링하는 방법을 살펴보겠습니다.

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

php에서는 지정된 요소가 배열에 포함되어 있는지 쉽게 확인할 수 있는 in_array() 함수를 제공합니다. 이 함수의 구문은 다음과 같습니다.

in_array($search, $array);
로그인 후 복사

여기서 $search 매개변수는 찾을 요소이고 $array 매개변수는 찾을 배열입니다. $search 요소가 $array에 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 샘플 코드는 다음과 같습니다.

$fruits = array('apple', 'banana', 'orange', 'kiwi');
$search1 = 'banana';
$search2 = 'grape';

if (in_array($search1, $fruits)) {
    echo "Fruits array contains $search1";
} else {
    echo "Fruits array does not contain $search1";
}

if (in_array($search2, $fruits)) {
    echo "Fruits array contains $search2";
} else {
    echo "Fruits array does not contain $search2";
}
로그인 후 복사

위 코드를 실행하면 결과는 다음과 같습니다.

Fruits array contains banana
Fruits array does not contain grape
로그인 후 복사

방법 2: array_search() 함수 사용

php에서는 첫 번째 요소를 찾을 수 있는 array_search() 함수도 제공합니다. 배열이 나타나는 위치입니다. 이 함수의 구문은 다음과 같습니다.

array_search($search, $array);
로그인 후 복사

여기서 $search 매개변수는 찾을 요소이고 $array 매개변수는 찾을 배열입니다. 검색 요소가 배열에 포함되어 있으면 배열에서 해당 요소가 처음 나타나는 키 이름을 반환하고, 그렇지 않으면 false를 반환합니다. 샘플 코드는 다음과 같습니다.

$fruits = array('apple', 'banana', 'orange', 'kiwi');
$search1 = 'banana';
$search2 = 'grape';

$result1 = array_search($search1, $fruits);
$result2 = array_search($search2, $fruits);

if ($result1 !== false) {
    echo "$search1 found at position $result1";
} else {
    echo "$search1 not found in the array";
}

if ($result2 !== false) {
    echo "$search2 found at position $result2";
} else {
    echo "$search2 not found in the array";
}
로그인 후 복사

위 코드를 실행하면 결과는 다음과 같습니다.

banana found at position 1
grape not found in the array
로그인 후 복사

방법 3: in_array()를 array_map() 함수와 결합하여 사용

때로는 배열에 집합이 포함되어 있는지 확인해야 합니다. 문자열의 모든 요소. 이때 array_map() 함수와 in_array() 함수를 결합하여 사용할 수 있습니다. array_map() 함수는 배열의 각 요소에 대해 사용자 정의 함수를 실행하고 모든 함수 처리 결과가 포함된 새 배열을 반환합니다. array_map() 함수에서 in_array() 함수를 호출하여 값을 찾을 수 있습니다. 샘플 코드는 다음과 같습니다.

$fruits = array('apple', 'banana', 'orange', 'kiwi');
$search = array('apple', 'watermelon');

$found = array_filter(array_map(function($needle) use($fruits){
    return in_array($needle, $fruits);
}, $search));

if ($found) {
    echo "Found these fruits: ";
    print_r($found);
} else {
    echo "No fruits found";
}
로그인 후 복사

위 코드를 실행하면 결과는 다음과 같습니다.

Found these fruits: Array
(
    [0] => 1
)
로그인 후 복사

위 코드에서는 array_map() 함수와 array_filter() 함수를 사용합니다. array_map() 함수는 $search 배열의 각 요소를 반복하여 해당 요소가 $fruits 배열에 포함되어 있는지 확인하는 각 요소에 대해 익명 함수를 호출합니다. array_filter() 함수는 배열을 수신하고 참인 요소만 포함하는 배열을 반환합니다. 이 경우 $found에는 요소가 존재하는 위치만 포함됩니다.

방법 4: preg_grep() 함수 사용

문자 'a'로 시작하는 모든 요소와 같이 특정 패턴을 포함하는 배열의 요소를 찾아야 하는 경우 PHP에서 preg_grep() 함수를 사용할 수 있습니다. . preg_grep() 함수는 패턴과 일치하는 모든 요소가 포함된 배열을 반환합니다. 샘플 코드는 다음과 같습니다.

$fruits = array('apple', 'banana', 'orange', 'kiwi');
$pattern = '/^a/';

$found = preg_grep($pattern, $fruits);

if ($found) {
    echo "Found these fruits: ";
    print_r($found);
} else {
    echo "No fruits found";
}
로그인 후 복사

위 코드를 실행하면 결과는 다음과 같습니다.

Found these fruits: Array
(
    [0] => apple
)
로그인 후 복사

위 코드에서는 정규식 "/^a/"를 사용하여 문자 'a'로 시작하는 요소를 일치시킵니다. preg_grep() 함수는 정규식과 검색할 배열을 입력받고, 해당 표현식과 일치하는 모든 요소가 포함된 배열을 반환합니다.

요약

이 기사에서는 배열에 특정 문자열이 포함되어 있는지 확인하는 PHP의 네 가지 방법을 소개합니다. 이러한 방법에는 in_array() 함수, array_search() 함수, in_array() 함수와 array_map() 함수를 결합한 함수, preg_grep() 함수를 사용하는 것이 포함됩니다. 이러한 방법은 모두 PHP에서 일반적으로 사용되는 배열 쿼리 방법이며, 특정 상황에 따라 적절한 방법을 선택하여 적용할 수 있습니다.

위 내용은 PHP가 특정 문자열이 배열에 존재하는지 여부를 확인하는 방법 살펴보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿