> 백엔드 개발 > PHP 문제 > PHP 배열이 배열에 있습니까?

PHP 배열이 배열에 있습니까?

WBOY
풀어 주다: 2023-05-06 09:38:07
원래의
605명이 탐색했습니다.

PHP 프로그래밍에서 배열은 대량의 데이터를 저장하고 처리하는 데 자주 사용되는 일반적인 데이터 구조입니다. 어떤 경우에는 배열이 다른 배열 내에 있는지 확인해야 합니다. 이 기사에서는 PHP를 사용하여 배열이 다른 배열 내에 있는지 확인하는 방법을 소개합니다.

먼저 PHP의 배열 표현을 이해해야 합니다. 일반적으로 PHP 배열은 다음 두 가지 방법으로 생성할 수 있습니다.

1. 키워드 배열을 사용하여 생성:

$array1 = array(“apple”, “orange”, “banana”);
로그인 후 복사

2. 대괄호 []를 사용하여 생성:

$array2 = [“apple”, “orange”, “banana”];
로그인 후 복사

두 가지 방법 모두 여러 요소를 포함하는 배열을 생성할 수 있습니다. 배열이 다른 배열에 있는지 확인하려면 PHP 내장 함수 in_array()를 사용해야 합니다. 구문은 다음과 같습니다.

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
로그인 후 복사

그 중 $needle 매개변수는 찾을 값, $haystack 매개변수는 검색할 배열, $strict 매개변수는 합동 비교 사용 여부를 나타냅니다. 이 함수는 검색 결과를 나타내는 부울 값을 반환합니다.

in_array() 함수를 사용하면 값이 배열에 있는지 쉽게 확인할 수 있습니다. 예를 들어, 다음 코드는 "apple" 값이 $array1 배열에 있는지 확인합니다.

if ( in_array(“apple”, $array1) ) {
    echo “yes”;
} else {
    echo “no”;
}
로그인 후 복사

"apple"이 $array1 배열에 있으면 프로그램은 "yes"를 출력하고, 그렇지 않으면 "no"를 출력합니다.

그렇다면 배열이 다른 배열에 있는지 확인하려면 어떻게 해야 할까요? 구체적인 예를 살펴보겠습니다.

$array1 = [“apple”, “orange”, “banana”];
$array2 = [“orange”, “banana”];
로그인 후 복사

위 예에서 $array2의 모든 요소는 $array1에 나타나기 때문에 $array2는 $array1의 하위 집합입니다.

$array2가 $array1에 있는지 확인하려면 $array2의 모든 요소를 ​​순회하고 해당 요소가 모두 $array1에 나타나는지 확인해야 합니다. for 루프를 통해 이를 달성할 수 있습니다.

$flag = true;
for ($i=0; $i<count($array2); $i++) {
    if( !in_array($array2[$i], $array1) ) {
        $flag = false;
        break;
    }
}
if ( $flag ) {
    echo “yes”;
} else {
    echo “no”;
}
로그인 후 복사

위 코드에서는 먼저 $flag 변수를 설정하여 모든 요소가 발견된 상황을 표시합니다. 그런 다음 $array2의 모든 요소를 ​​반복하고 in_array() 함수를 사용하여 해당 요소가 모두 $array1에 나타나는지 확인합니다. $array1에 없는 요소가 발견되면 $flag 변수를 false로 설정하고 루프를 중단합니다. 마지막으로 $flag 변수의 값을 기반으로 결과가 출력됩니다.

이 방법은 일반적으로 우리의 요구를 충족할 수 있는 간단한 판단 방법입니다. 그러나 실제 작업에서는 더 복잡한 상황에 직면할 수 있습니다. 예를 들어 배열에 다른 배열인 요소가 포함되어 있거나 배열에 다차원 배열이 포함되어 있는 경우 등이 있습니다. 이러한 상황에서는 재귀 함수나 콜백 함수를 사용하는 등 보다 복잡한 판단 방법을 사용해야 합니다.

요약하자면, PHP에서 배열이 다른 배열에 있는지 판단하는 것은 본질적으로 배열을 순회하고 그 안의 요소를 비교하는 것입니다. 실제 응용 프로그램에서는 in_array() 함수나 더 복잡한 판단 방법을 사용하여 다양한 요구 사항을 충족하기 위해 이 함수를 구현할 수 있습니다.

위 내용은 PHP 배열이 배열에 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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