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 중국어 웹사이트의 기타 관련 기사를 참조하세요!