>  기사  >  백엔드 개발  >  PHP 2차원 배열에 필드가 포함되어 있는지 여부

PHP 2차원 배열에 필드가 포함되어 있는지 여부

王林
王林원래의
2023-05-24 12:39:37497검색

PHP 프로그래밍에서 배열은 매우 일반적인 데이터 유형이며 2차원 배열이 훨씬 더 일반적입니다. 2차원 배열에서 특정 필드를 검색해야 할 경우 어떻게 해야 합니까? 이 기사에서는 PHP 2차원 배열에 특정 필드가 포함되어 있는지 확인하는 방법을 공유합니다.

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

PHP에서 배열은 여러 값을 보유할 수 있습니다. 배열의 값 자체가 배열인 경우 해당 배열을 2차원 배열이라고 합니다. 예:

$fruits = array(
    array("apple", "red"),
    array("banana", "yellow"),
    array("grape", "purple"),
);

위 코드에서 $fruits는 세 개의 배열을 포함하는 2차원 배열이며, 각 배열은 두 개의 값을 포함합니다.

2. 2차원 배열에 특정 필드가 포함되어 있는지 확인하는 방법

PHP 2차원 배열에 특정 필드가 포함되어 있는지 확인하는 방법에는 여러 가지가 있습니다.

1. ) 함수

function check_array($arr, $key, $value){
    foreach($arr as $item){
        if(in_array($value, $item) && in_array($key, $item)){
            return true;
        }
    }
    return false;
}

는 in_array() 함수를 사용하여 2차원 배열을 순회합니다. 2차원 배열에 $key와 $value가 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 이 방법은 키 이름이 아닌 배열의 값 위치만 결정할 수 있다는 점에 유의해야 합니다.

사용법:

$people = array(
    array("name" => "Tom", "age" => 18),
    array("name" => "Lily", "age" => 20),
    array("name" => "Lucy", "age" => 22),
);

if(check_array($people, "name", "Tom")){
    echo "包含Tom的人员信息";
}else{
    echo "不包含Tom的人员信息";
}

2. foreach() 루프를 사용하세요

function check_array($arr, $key, $value){
    foreach ($arr as $k => $v) {
        if ($v["$key"] == $value) {
            return true;
        }
    }
    return false;
}

foreach() 루프를 사용하여 2차원 배열을 탐색하고 키 이름이 $key이고 두 항목에 $value가 있는 배열 요소가 있는지 확인합니다. 차원 배열 . 존재하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

사용법:

$people = array(
    array("name" => "Tom", "age" => 18),
    array("name" => "Lily", "age" => 20),
    array("name" => "Lucy", "age" => 22),
);

if(check_array($people, "name", "Tom")){
    echo "包含Tom的人员信息";
}else{
    echo "不包含Tom的人员信息";
}

3. 요약

PHP 프로그래밍에서 2차원 배열은 일반적인 데이터 유형입니다. 2차원 배열에 특정 필드가 포함되어 있는지 확인해야 하는 경우 in_array() 함수 또는 foreach() 루프를 사용하여 확인할 수 있습니다. 특정 비즈니스 요구 사항에 따라 적절한 방법을 선택해야 합니다.

위 내용은 PHP 2차원 배열에 필드가 포함되어 있는지 여부의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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