Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memindahkan Struktur Data Kolumnar ke dalam Format Berasaskan Baris dalam PHP?

Bagaimana untuk Memindahkan Struktur Data Kolumnar ke dalam Format Berasaskan Baris dalam PHP?

Linda Hamilton
Linda Hamiltonasal
2024-10-25 10:16:02179semak imbas

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

Menyusun Semula Data Lajur Berbilang Dimensi ke dalam Struktur Berasaskan Baris

Memandangkan tatasusunan bersekutu dengan data berorientasikan lajur, tugasnya adalah untuk mengubahnya menjadi tatasusunan berbilang dimensi yang terdiri daripada baris. Data dalam tatasusunan asal disusun mengikut lajur dan matlamatnya ialah untuk menggabungkan nilai dari lajur yang sama ke dalam baris.

Susunatur Asal:

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

Output yang Diingini:

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

Penyelesaian:

Satu cara berkesan untuk mencapai penstrukturan semula data ini adalah dengan mengulang nilai setiap lajur menggunakan gelung dan gabungkannya ke dalam tatasusunan untuk setiap baris. Berikut ialah contoh:

<code class="php">$result = [];

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

array_column() Pendekatan:

Alternatif elegan kepada penyelesaian berasaskan gelung ialah menggunakan fungsi array_column(), yang mengekstrak lajur tertentu daripada tatasusunan berbilang dimensi.

<code class="php">$result = [];

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

Fungsi array_column() mengembalikan lajur yang ditentukan sebagai tatasusunan, yang kemudiannya boleh digabungkan dengan nilai daripada baris yang sepadan.

Output:

Kedua-dua penyelesaian akan menghasilkan output yang diingini:

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

Atas ialah kandungan terperinci Bagaimana untuk Memindahkan Struktur Data Kolumnar ke dalam Format Berasaskan Baris dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn