Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada dua kekunci tatasusunan adalah sama dalam php

Bagaimana untuk menentukan sama ada dua kekunci tatasusunan adalah sama dalam php

PHPz
PHPzasal
2023-04-24 15:50:35591semak imbas

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn