Editor PHP Strawberry akan memperkenalkan anda kepada teknik praktikal hari ini: cara menggabungkan semua kunci tatasusunan menjadi tatasusunan baharu. Dalam PHP, kita boleh menggunakan fungsi array_keys() untuk mencapai fungsi ini. Fungsi ini boleh mengembalikan tatasusunan baharu yang mengandungi semua kunci tatasusunan asal, membolehkan kami mengendalikan dan memproses kunci tatasusunan dengan mudah. Seterusnya, mari kita lihat kaedah pelaksanaan khusus!
PHP Dapatkan semua kunci tatasusunan:
Gambaran keseluruhan:
php menyediakan pelbagai kaedah untuk mendapatkan semua kunci dalam tatasusunan untuk membentuk tatasusunan baharu. Artikel ini akan meneroka kaedah ini dan nuansanya untuk membantu anda membuat pilihan termaklum berdasarkan keperluan khusus anda.
Kaedah:
1. kekunci_tatasusunan()
array_keys()
Fungsi mengembalikan tatasusunan semua kunci dalam tatasusunan. Ia menerima tatasusunan sebagai parameter dan mengembalikan tatasusunan yang mengandungi nilai kunci.
$fruits = ["apple", "banana", "orange"]; $keys = array_keys($fruits); // [0, 1, 2]
2
keys()
ialah alias bagi fungsi
keys()
是 array_keys()
Kaedah ini menggunakan fungsi array_map()
untuk menggunakan
$keys = array_map("array_keys", $fruits); // [0, 1, 2]
array_map()
函数将 array_keys()
4. lajur_tatasusunan()Fungsi
boleh digunakan untuk mengekstrak nilai lajur tertentu daripada tatasusunan berbilang dimensi. Ia juga boleh digunakan sebagai kaedah alternatif untuk mengekstrak kunci.
$data = [ ["id" => 1, "name" => "John"], ["id" => 2, "name" => "Mary"], ]; $keys = array_column($data, "id"); // [1, 2]
array_column()
5. gelung foreachKekunci akses.
$keys = []; foreach ($fruits as $key => $value) { $keys[] = $key; }
foreach
循环可遍历数组中的每个元素,并通过使用键字 key
6. Antara muka Agregat IteratorMelaksanakan kaedah
untuk mendapatkan iterator dan mendapatkan kunci daripadanya.
class MyArray implements IteratorAggregate { public function getIterator() { return new ArrayIterator($this->data); } } $arr = new MyArray(); $keys = []; foreach ($arr as $key => $value) { $keys[] = $key; }
IteratorAggregate
接口的对象可以通过迭代器访问键。可以使用 getIterator()
Perbandingan prestasi:Berikut ialah perbandingan prestasi kasar kaedah yang berbeza:
array_keys()
array_map() + array_keys()
keys()
: 与 array_keys()
array_column()
foreach
IteratorAggregate
Memilih kaedah yang paling sesuai dengan keperluan anda bergantung pada faktor berikut:
Struktur tatasusunan
ialah pilihan terbaik. Untuk tatasusunan besar dan berbilang dimensi, array_keys()
或 array_map() + array_keys()
是最佳选择。对于大型和多维数组,array_column()
可能更合适。对于复杂的对象,IteratorAggregate
mungkin lebih sesuai. Untuk objek kompleks,
Atas ialah kandungan terperinci PHP mengembalikan semua kunci tatasusunan untuk membentuk tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!