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!