>  기사  >  백엔드 개발  >  백엔드 PHP에서 2차원 배열의 필드를 얻는 방법

백엔드 PHP에서 2차원 배열의 필드를 얻는 방법

PHPz
PHPz원래의
2023-04-20 13:48:061305검색

PHP에서 2차원 배열은 일반적으로 관련 데이터의 집합으로 저장됩니다. 이러한 유형의 데이터 구조의 경우 각 배열 요소를 반복한 다음 배열 인덱스 연산자를 사용하여 각 요소의 값에 액세스할 수 있습니다. 지정된 필드에만 액세스해야 하는 경우 array_column() 함수를 사용하거나 순회 함수를 사용자 정의할 수 있습니다.

1. array_column() 함수 사용
array_column() 함수는 지정된 배열의 필드 값을 가져와서 새 배열로 반환할 수 있습니다. 매개변수 목록은 다음과 같습니다:

array_column(array $input, Mixed $column_key, Mixed $index_key = null) : array
매개변수 설명:

  • $input: 필드의 다차원 배열을 얻으려면 필요합니다.
  • $column_key: 필수, 반환할 키 값입니다. 이 키의 값이 반환될 것임을 나타내는 문자열일 수도 있고, 이 인덱스의 값이 반환될 것임을 나타내는 숫자일 수도 있습니다.
  • $index_key: 선택사항, 반환된 배열의 키로 사용될 열입니다. 이 열의 값이 키로 사용되어야 함을 나타내는 문자열일 수도 있고, $column_key 값이 키로 사용되어야 함을 나타내는 숫자일 수도 있습니다.

다음 예에서는 array_column() 함수를 사용하여 2차원 배열에서 지정된 필드를 얻는 방법을 보여줍니다.

// 二维数组
$data = array(
    array('id'=>1, 'name'=>'Alice', 'age'=>20),
    array('id'=>2, 'name'=>'Bob', 'age'=>23),
    array('id'=>3, 'name'=>'Charlie', 'age'=>25),
);
    
// 获取名字字段值
$names = array_column($data, 'name');
print_r($names); // 输出 ['Alice', 'Bob', 'Charlie']

// 获取id和名字作为键的新数组
$new_data = array_column($data, 'age', 'name');
print_r($new_data); //输出 ['Alice'=>20, 'Bob'=>23, 'Charlie'=>25]

2. 순회 함수 사용자 정의
가져올 필드에 고정 위치가 없는 경우, 또는 복잡한 작업을 사용자 정의해야 하는 경우 이를 달성하기 위해 순회 기능을 사용자 정의할 수 있습니다. 다음은 순회 함수에 대한 샘플 코드입니다.

// 自定义一个遍历函数
function get_field_from_array($data,$field){
    $result = array();
    foreach($data as $item){
        if(array_key_exists($field,$item)){
            $result[] = $item[$field];
        }
    }
    return $result;
}

// 二维数组
$data = array(
    array('id'=>1, 'name'=>'Alice', 'age'=>20),
    array('id'=>2, 'name'=>'Bob', 'age'=>23),
    array('id'=>3, 'name'=>'Charlie', 'age'=>25),
);

// 获取名字字段值
$names = get_field_from_array($data,'name');
print_r($names); //输出 ['Alice', 'Bob', 'Charlie']

// 获取id字段值
$ids = get_field_from_array($data,'id');
print_r($ids); //输出 [1, 2, 3]

위의 두 가지 방법을 통해 2차원 배열에서 지정된 필드 값을 쉽게 얻을 수 있습니다. 어떤 방법을 사용하든 잘못된 배열 형식으로 인해 발생하는 오류 및 예외를 방지하려면 들어오는 배열 형식이 함수의 요구 사항을 충족하는지 여부에 주의해야 합니다.

위 내용은 백엔드 PHP에서 2차원 배열의 필드를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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