Apabila bekerja dengan tatasusunan berbilang dimensi, ia boleh menjadi sukar untuk mendapatkan nilai kunci tertentu menggunakan kaedah gelung tradisional. PHP menyediakan beberapa fungsi terbina dalam yang memudahkan proses ini dengan cekap.
Menggunakan array_column() (PHP 5.5 dan Ke Atas)
Jika versi PHP anda 5.5 atau lebih tinggi, anda boleh menggunakan fungsi array_column() untuk mengekstrak tatasusunan kunci tertentu daripada tatasusunan multidimensi. Ini ialah penyelesaian pilihan untuk projek moden.
$users = array( array( 'id' => 'xxx', 'name' => 'blah', ), array( 'id' => 'yyy', 'name' => 'blahblah', ), array( 'id' => 'zzz', 'name' => 'blahblahblah', ), ); $ids = array_column($users, 'id'); print_r($ids); // Output: [xxx, yyy, zzz]
Menggunakan array_map() dan Fungsi Tanpa Nama (PHP 5.3 dan Ke Atas)
Untuk versi PHP antara 5.3 dan 5.5 , array_map() boleh digunakan bersama-sama dengan fungsi tanpa nama untuk mencapai yang serupa hasil.
$ids = array_map(function ($ar) { return $ar['id']; }, $users); print_r($ids); // Output: [xxx, yyy, zzz]
Menggunakan create_function() (PHP 4.0.6 dan Ke atas)
Sebelum PHP 5.3, menggunakan create_function() untuk mencipta fungsi tanpa nama ialah perlu.
$ids = array_map(create_function('$ar', 'return $ar["id"];'), $users); print_r($ids); // Output: [xxx, yyy, zzz]
Dengan menggunakan fungsi terbina dalam ini, anda boleh mengekstrak nilai kunci khusus daripada tatasusunan berbilang dimensi tanpa menggunakan binaan gelung eksplisit, menghasilkan kod yang ringkas dan dioptimumkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Kekunci daripada Tatasusunan Berbilang Dimensi dalam PHP Tanpa Gelung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!