"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > PHP에서 열 기반 데이터 구조를 행 기반 형식으로 바꾸는 방법은 무엇입니까?

PHP에서 열 기반 데이터 구조를 행 기반 형식으로 바꾸는 방법은 무엇입니까?

2024-11-08에 게시됨
검색:367

How to Transpose a Columnar Data Structure into Row-based Format in PHP?

다차원 열 형식 데이터를 행 기반 구조로 재정렬

열 기반 데이터가 있는 연관 배열이 주어지면 작업은 이를 행 기반 구조로 바꾸는 것입니다. 행으로 구성된 다차원 배열입니다. 원래 배열의 데이터는 열별로 정렬되며, 목표는 동일한 열의 값을 행으로 병합하는 것입니다.

원래 배열:

$where = [
    'id' => [
        12,
        13,
        14
    ],
    'date' => [
        '1999-06-12',
        '2000-03-21',
        '2006-09-31'
    ]
];

원하는 출력:

$comb = [
    [12, '1999-06-12'],
    [13, '2000-03-21'],
    [14, '2006-09-31']
];

해결책:

이 데이터 재구성을 달성하는 효과적인 방법 중 하나는 루프를 사용하여 각 열의 값을 반복하고 각 열의 값을 배열로 결합하는 것입니다. 열. 예는 다음과 같습니다.

$result = [];

foreach ($where['id'] as $key => $id) {
    $result[] = [$id, $where['date'][$key]];
}

array_column() 접근 방식:

루프 기반 솔루션에 대한 우아한 대안은 다차원 열에서 특정 열을 추출하는 array_column() 함수를 사용하는 것입니다. array.

$result = [];

foreach ($where['id'] as $key => $id) {
    $result[] = array_column($where, $key);
}

array_column() 함수는 지정된 열을 배열로 반환한 다음 해당 행의 값과 결합할 수 있습니다.

출력:

두 솔루션 모두 원하는 출력을 생성합니다.

[
    [12, '1999-06-12'],
    [13, '2000-03-21'],
    [14, '2006-09-31']
]
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3