현재 위치: > 최신 기사 목록> 페이징 데이터를 처리 할 때 PHP의 array_column 기능을 사용하여 ID 열을 신속하게 추출하는 방법은 무엇입니까?

페이징 데이터를 처리 할 때 PHP의 array_column 기능을 사용하여 ID 열을 신속하게 추출하는 방법은 무엇입니까?

M66 2025-06-15

일일 개발, 특히 백그라운드 관리 시스템 또는 데이터 분석 플랫폼에서 추가 작업을 위해 특정 열에서 데이터를 추출하는 등 PAGED 데이터를 처리해야합니다. PHP에서 Array_Column은 2 차원 배열에서 지정된 키 이름의 값을 빠르게 추출하고 새로운 인덱스 배열을 형성하는 데 도움이되는 매우 실용적인 기능입니다. 이 기사는 실제 사례를 결합하여 PAGEG 데이터를 처리 할 때 Array_Column을 사용하여 ID 열을 신속하게 추출하는 방법을 소개합니다.

장면 설명

우리가 인터페이스 개발을하고 있다고 가정하고 PAGED 목록 데이터를 프론트 엔드로 반환해야한다고 가정 해 봅시다. 데이터는 데이터베이스 쿼리에서 나오고 반환 된 데이터 형식은 다음과 같습니다.

 $users = [
    ['id' => 101, 'name' => '장 산', 'email' => 'zhangsan@m66.net'],
    ['id' => 102, 'name' => 'Li Si', 'email' => 'lisi@m66.net'],
    ['id' => 103, 'name' => '왕 우', 'email' => 'wangwu@m66.net'],
    // ...더 많은 데이터
];

이제이 사용자 데이터 배치에서 모든 사용자의 ID를 빠르게 추출하여 인터페이스 집계, 배치 쿼리 등과 같은 후속 작업에 사용할 수 있도록해야합니다.

array_column을 사용하여 ID 열을 추출합니다

Array_Column 은 PHP가 제공하는 기본 기능이며 기본 구문은 다음과 같습니다.

 array_column(array $input, mixed $column_key, mixed $index_key = null): array

안에:

  • $ 입력 : 입력 2 차원 배열;

  • $ column_key : 추출 해야하는 열 이름;

  • $ index_key (선택 사항) : 배열 인덱스를 반환하는 열로 사용됩니다.

ID 열만 추출하면 다음과 같이 직접 사용할 수 있습니다.

 $userIds = array_column($users, 'id');
print_r($userIds);

출력 결과 :

 Array
(
    [0] => 101
    [1] => 102
    [2] => 103
)

이런 식으로, 우리는 신속하게 ID 배열을 얻습니다 [101, 102, 103] .

페이징 인터페이스에 적용 할 완전한 예

PAGIGE 인터페이스의 실제 코드에 ARRAY_COLUMN을 적용하여 사용자 페이징 데이터를 반환하는 인터페이스를 모방합니다.

 function getUserList($page = 1, $limit = 10) {
    // 데이터베이스 페이징 쿼리 결과 시뮬레이션
    $allUsers = [
        ['id' => 101, 'name' => '장 산', 'email' => 'zhangsan@m66.net'],
        ['id' => 102, 'name' => 'Li Si', 'email' => 'lisi@m66.net'],
        ['id' => 103, 'name' => '왕 우', 'email' => 'wangwu@m66.net'],
        ['id' => 104, 'name' => 'Zhao Liu', 'email' => 'zhaoliu@m66.net'],
        ['id' => 105, 'name' => '선지', 'email' => 'sunqi@m66.net'],
        // 假设还有더 많은 데이터
    ];

    $offset = ($page - 1) * $limit;
    $pagedUsers = array_slice($allUsers, $offset, $limit);

    // 발췌 ID 목록
    $ids = array_column($pagedUsers, 'id');

    return [
        'data' => $pagedUsers,
        'ids' => $ids,
        'pagination' => [
            'page' => $page,
            'limit' => $limit,
            'total' => count($allUsers)
        ]
    ];
}

// 테스트 전화
$result = getUserList(1, 3);
print_r($result);

출력 결과는 대략 다음과 같습니다.