Dalam PHP, terdapat banyak cara untuk menentukan sama ada kekunci dua tatasusunan adalah sama. Dalam artikel ini, kami akan meneroka beberapa kaedah ini dan kes penggunaannya.
Kaedah 1: Gunakan fungsi array_keys
Fungsi array_keys digunakan untuk mendapatkan semua nama kunci (kunci) dalam tatasusunan dan mengembalikan tatasusunan yang mengandungi nama kunci. Kita boleh menggunakan fungsi array_keys untuk mendapatkan tatasusunan kunci dua tatasusunan, dan kemudian gunakan fungsi array_diff untuk membandingkan perbezaan antara dua tatasusunan utama. Jika perbezaannya ialah tatasusunan kosong, ini bermakna nama kunci kedua-dua tatasusunan adalah sama.
Berikut ialah kod sampel yang menggunakan fungsi array_keys untuk membandingkan nama kunci tatasusunan:
$array1 = array('foo' => 1, 'bar' => 2, 'baz' => 3); $array2 = array('foo' => 4, 'bar' => 5, 'baz' => 6); if (array_diff(array_keys($array1), array_keys($array2)) === array()) { echo "两个数组的键名相同"; } else { echo "两个数组的键名不同"; }
Hasil output ialah: nama kunci kedua-dua tatasusunan adalah sama
Kaedah 2: Gunakan fungsi array_diff_key
Fungsi array_diff_key digunakan untuk membandingkan nama kunci dua tatasusunan dan mengembalikan tatasusunan baharu yang terdiri daripada nama kunci yang hanya wujud dalam tatasusunan pertama tetapi tidak dalam tatasusunan kedua tatasusunan. Kita boleh menggunakan fungsi ini untuk menentukan sama ada nama kunci kedua-dua tatasusunan adalah sama. Jika tatasusunan baharu yang dikembalikan kosong, ini bermakna nama kunci dua tatasusunan adalah sama.
Berikut ialah kod sampel yang menggunakan fungsi array_diff_key untuk membandingkan nama kunci tatasusunan:
$array1 = array('foo' => 1, 'bar' => 2, 'baz' => 3); $array2 = array('foo' => 4, 'bar' => 5, 'baz' => 6); if (array_diff_key($array1, $array2) === array()) { echo "两个数组的键名相同"; } else { echo "两个数组的键名不同"; }
Hasil output ialah: nama kunci kedua-dua tatasusunan adalah sama
Kaedah 3: Gunakan fungsi ksort
Fungsi ksort digunakan untuk mengisih tatasusunan dalam tertib menaik mengikut nama kunci. Mula-mula kita boleh mengisih dua tatasusunan menggunakan fungsi ksort, dan kemudian membandingkan dua tatasusunan menggunakan operator sama (==). Jika ia sama, ini bermakna nama kunci kedua-dua tatasusunan adalah sama.
Berikut ialah contoh kod yang menggunakan fungsi ksort untuk membandingkan nama kunci tatasusunan:
$array1 = array('foo' => 1, 'bar' => 2, 'baz' => 3); $array2 = array('baz' => 6, 'bar' => 5, 'foo' => 4); ksort($array1); ksort($array2); if ($array1 == $array2) { echo "两个数组的键名相同"; } else { echo "两个数组的键名不同"; }
Hasil output ialah: nama kunci kedua-dua tatasusunan adalah sama
Ringkasan
Tiga kaedah di atas semuanya boleh menentukan sama ada nama kunci dua tatasusunan adalah sama Kaedah khusus untuk digunakan bergantung pada situasi tertentu. Perlu diingatkan bahawa kaedah di atas boleh digunakan semasa menilai tatasusunan bersekutu, tetapi anda perlu memberi perhatian apabila menggunakan fungsi array_keys Jika nama kunci tatasusunan ialah nombor, beberapa masalah mungkin berlaku apabila menggunakan fungsi array_keys. Oleh itu, adalah disyorkan untuk menetapkan parameter kedua kepada benar apabila menggunakan fungsi array_keys untuk memastikan susunan nama kunci tidak berubah.
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada dua kekunci tatasusunan adalah sama dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!