>  기사  >  백엔드 개발  >  PHP 2차원 배열에 1차원 배열이 포함되어 있습니까?

PHP 2차원 배열에 1차원 배열이 포함되어 있습니까?

PHPz
PHPz원래의
2023-05-05 20:59:06471검색

PHP로 프로그래밍할 때 배열을 사용하는 경우가 많습니다. 배열은 PHP에서 가장 중요하고 기본적인 데이터 유형 중 하나로, 하나의 변수 이름으로 여러 데이터 항목을 참조할 수 있게 해줍니다. 배열에서 2차원 배열은 여러 배열을 요소로 포함하고 보다 복잡한 데이터 구조를 표현하는 데 사용되는 일반적인 형태의 데이터 구조입니다. 2차원 배열을 다룰 때 우리는 종종 다음과 같은 문제에 직면합니다: 2차원 배열에 1차원 배열이 포함되어 있는지 어떻게 확인합니까?

2차원 배열이란 무엇인가요?

PHP에서 2차원 배열은 여러 배열을 포함하는 배열을 의미하며 이러한 배열은 행렬로 간주될 수 있으며 각 배열은 행 또는 열에 해당합니다. 다음 코드를 통해 2차원 배열을 정의할 수 있습니다.

$arr = array(
    array("apple", "orange", "banana"),
    array("dog", "cat", "bird"),
    array("red", "green", "blue")
);

이 2차원 배열 $arr는 3개의 1차원 배열로 구성되며, 각 1차원 배열에는 3개의 요소가 포함됩니다. 아래와 같이 이중 루프를 통해 2차원 배열의 각 요소를 순회할 수 있습니다.

for ($i = 0; $i < count($arr); $i++) {
    for ($j = 0; $j < count($arr[$i]); $j++) {
        echo $arr[$i][$j] . " ";
    }
    echo "<br>";
}

실행 결과는 다음과 같습니다.

apple orange banana 
dog cat bird 
red green blue 

2차원 배열에 1차원 배열이 포함되어 있는지 확인하는 방법은 무엇입니까?

실제 개발에서는 2차원 배열의 요소를 필터링하거나 조건부 필터링해야 할 수도 있습니다. 1차원 배열이 있으면 그것이 2차원 배열에 포함되어 있는지 확인해야 합니다. PHP의 in_array() 함수를 사용하여 확인할 수 있습니다.

in_array() 함수는 주어진 값이 배열에 존재하는지 여부를 확인할 수 있습니다. 형식은 다음과 같습니다.

in_array($needle, $haystack, $strict)

여기서 $needle은 찾을 값, $haystack은 찾을 배열, $strict는 선택적 매개변수는 엄격 모드가 켜져 있는지 여부를 나타냅니다. 켜져 있지 않으면 유형이 아닌 요소의 값만 일치됩니다.

다음 코드를 사용하면 1차원 배열이 2차원 배열에 존재하는지 확인할 수 있습니다.

function search_arr($arr, $search) {
    foreach ($arr as $key => $value) {
        if (in_array($search, $value)) {
            return true;
        }
    }
    return false;
}

이 코드에서 search_arr() 함수는 두 개의 매개변수를 받습니다. $arr는 2차원 배열이고, $search는 1차원 배열을 검색할 때 필요합니다. foreach 루프를 사용하여 2차원 배열의 각 1차원 배열을 순회한 다음 각 1차원 배열에서 in_array() 함수를 사용하여 필요한 1차원 배열을 찾으면 true를 반환합니다. , 그렇지 않으면 false를 반환합니다.

샘플 코드는 다음과 같습니다.

$arr = array(
    array("apple", "orange", "banana"),
    array("dog", "cat", "bird"),
    array("red", "green", "blue")
);

$search1 = array("apple", "orange", "banana");
$search2 = array("cat", "dog", "bird");

if (search_arr($arr, $search1)) {
    echo "存在$search1";
} else {
    echo "不存在$search1";
}

echo "
"; if (search_arr($arr, $search2)) { echo "存在$search2"; } else { echo "不存在$search2"; }

실행 결과는

存在Array
不存在Array

검색 함수 search_arr()를 통해 2차원 배열에 1차원 배열이 존재하는지 확인할 수 있습니다.

요약

PHP에서 2차원 배열은 보다 복잡한 데이터 구조를 표현하기 위해 여러 배열을 요소로 포함하는 일반적인 형태의 데이터 구조입니다. 1차원 배열이 2차원 배열에 포함되어 있는지 확인해야 하는 경우 in_array() 함수를 사용하여 확인할 수 있습니다. 실제 개발에서는 2차원 배열과 in_array() 함수를 사용하면 데이터 구조를 더 잘 처리하고 데이터 필터링 및 필터링과 같은 작업을 수행할 수 있습니다.

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

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