PHP ialah bahasa skrip sebelah pelayan yang popular digunakan terutamanya untuk pembangunan web. Sebagai bahasa tujuan umum, PHP boleh mengendalikan pelbagai jenis data, termasuk tatasusunan. Apabila bekerja dengan tatasusunan, anda selalunya perlu mendapatkan hanya medan tertentu dalam tatasusunan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mendapatkan beberapa medan tatasusunan.
Fungsi array_column() boleh mengekstrak medan individu daripada tatasusunan berbilang dimensi dan meletakkannya ke dalam tatasusunan baharu. Fungsi ini menerima tiga parameter:
array_column($input, $column_key, $index_key);
Parameter $input ialah tatasusunan medan yang akan diekstrak parameter $column_key ialah medan nama untuk diekstrak atau indeks parameter $index_key ialah medan atau indeks yang digunakan sebagai kunci tatasusunan baharu. Jika parameter $index_key diabaikan, kekunci integer digunakan bermula dari 0.
Mari kita lihat contoh tatasusunan:
$users = array(
array('id' => 1, 'name' => 'Alice', 'age' => 23), array('id' => 2, 'name' => 'Bob', 'age' => 27), array('id' => 3, 'name' => 'Charlie', 'age' => 31)
);
Untuk mengekstrak nama semua pengguna, anda boleh Gunakan kod berikut:
$names = array_column($users, 'name');
print_r($names);
Output:
Array
(
[0] => Alice [1] => Bob [2] => Charlie
)
Seperti yang anda lihat, fungsi array_column() mengembalikan tatasusunan baharu yang mengandungi hanya nama.
Menggunakan gelung foreach untuk melintasi tatasusunan dan mendapatkan medan yang diperlukan juga merupakan kaedah biasa. Contoh berikut menunjukkan cara menggunakan gelung foreach untuk menukar tatasusunan $users asal kepada tatasusunan baharu yang mengandungi hanya nama dan umur.
$new_users = array();
foreach ($users as $user) {
$new_user = array(); $new_user['name'] = $user['name']; $new_user['age'] = $user['age']; $new_users[] = $new_user;
}
print_r($new_users);
Output:
Array
(
[0] => Array ( [name] => Alice [age] => 23 ) [1] => Array ( [name] => Bob [age] => 27 ) [2] => Array ( [name] => Charlie [age] => 31 )
)
Dalam contoh ini, kami menggunakan gelung foreach untuk lelaran ke atas tatasusunan $users asal. Untuk setiap pengguna, kami mencipta tatasusunan bersekutu baharu $new_user dan menetapkan nama serta umur di dalamnya kepada nilai yang sepadan dalam tatasusunan $user. Akhir sekali, kami menambah pengguna baharu pada tatasusunan $new_users.
Walaupun menggunakan gelung foreach memerlukan lebih banyak kod, ia memberikan lebih fleksibiliti dan kawalan.
Fungsi array_map() boleh menghantar satu atau lebih tatasusunan kepada fungsi panggil balik dan mengembalikan tatasusunan baharu dengan setiap elemen Mereka semua keputusan elemen yang sepadan dalam tatasusunan asal yang diproses oleh fungsi panggil balik. Contoh berikut menunjukkan cara menggunakan fungsi array_map() untuk mendapatkan hanya nama dan umur daripada tatasusunan $users.
function extract_fields($user) {
return array('name' => $user['name'], 'age' => $user['age']);
}
$new_users = array_map("extract_fields", $users);
print_r($new_users);
Output:
Array
(
[0] => Array ( [name] => Alice [age] => 23 ) [1] => Array ( [name] => Bob [age] => 27 ) [2] => Array ( [name] => Charlie [age] => 31 )
)
Dalam contoh ini, kami mentakrifkan fungsi panggil balik yang dipanggil extract_fields(), yang menerima tatasusunan $user dan mengembalikan yang baharu yang mengandungi hanya tatasusunan nama dan umur. Kami kemudian menggunakan fungsi array_map() untuk menggunakan extract_fields() pada setiap elemen dalam tatasusunan $users dan mengembalikan tatasusunan $new_users yang baharu.
Walaupun menggunakan fungsi array_map() memerlukan penentuan fungsi panggil balik yang berasingan, ia memberikan fleksibiliti dan kebolehskalaan yang lebih besar. Jika anda memerlukan lebih banyak medan, cuma ubah suai fungsi panggil balik.
Kesimpulan
Mendapatkan beberapa medan tatasusunan dalam PHP ialah tugas biasa dan sangat berguna apabila membangunkan aplikasi web. Artikel ini memperkenalkan tiga kaedah untuk mengekstrak medan tatasusunan, termasuk menggunakan fungsi array_column(), menggunakan gelung foreach dan menggunakan fungsi array_map(). Tidak kira kaedah yang anda pilih, anda boleh mengekstrak medan yang diperlukan dengan mudah daripada tatasusunan tanpa perlu berurusan dengan unsur berlebihan atau tidak perlu.
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan beberapa medan tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!