Dalam pembangunan pengaturcaraan sebenar, kita sering perlu menentukan sama ada dua tatasusunan adalah sama, terutamanya dalam bahasa PHP, masalah ini lebih biasa. Jadi, bagaimana untuk merealisasikan penghakiman dua tatasusunan dalam PHP?
Pertama sekali, kita perlu memahami konsep tatasusunan dalam PHP. Array ialah jenis komposit yang digunakan untuk menyimpan berbilang nilai. Dalam PHP, tatasusunan boleh mengandungi pelbagai jenis nilai, seperti integer, nombor titik terapung, rentetan, objek, dsb. Selain itu, tatasusunan dalam PHP juga boleh menjadi tatasusunan bersekutu, iaitu tatasusunan yang disimpan dalam bentuk pasangan nilai kunci.
Jadi, bagaimana untuk menentukan sama ada dua tatasusunan adalah sama dalam PHP? Jawapan kepada soalan ini tidak rumit, kita hanya perlu menggunakan fungsi terbina dalam PHP array_diff(). Fungsi ini digunakan untuk mengira perbezaan antara dua tatasusunan, mengembalikan tatasusunan baharu yang mengandungi nilai yang terdapat dalam tatasusunan pertama tetapi tidak dalam tatasusunan kedua. Jika kedua-dua tatasusunan adalah betul-betul sama, set perbezaan ialah tatasusunan kosong Maksudnya, jika hasil pengembalian fungsi array_diff() ialah tatasusunan kosong, maka kedua-dua tatasusunan adalah sama.
Berikut ialah contoh kod untuk menyemak sama ada dua tatasusunan adalah sama:
<?php $array1 = array("a" => "apple", "b" => "banana"); $array2 = array("a" => "apple", "b" => "banana"); if (array_diff($array1, $array2) == null) { echo "两个数组相同"; } else { echo "两个数组不同"; } ?>
Dalam contoh ini, kami mentakrifkan dua tatasusunan bersekutu $array1 dan $array2. Kemudian gunakan fungsi array_diff() untuk mengira perbezaan antara dua tatasusunan Jika hasil pulangan adalah batal, maka keluarkan "dua tatasusunan adalah sama", jika tidak, keluarkan "dua tatasusunan adalah berbeza".
Selain fungsi array_diff(), terdapat beberapa fungsi lain dalam PHP yang boleh menentukan sama ada dua tatasusunan adalah sama, seperti array_diff_assoc(), array_diff_key(), dsb. Semua fungsi ini mengira perbezaan antara dua tatasusunan, tetapi mempunyai kegunaan yang berbeza untuk jenis tatasusunan yang berbeza. Sebagai contoh, fungsi array_diff_assoc() mengira perbezaan antara tatasusunan bersekutu dan mengembalikan tatasusunan baharu yang mengandungi pasangan nilai kunci yang terdapat dalam tatasusunan pertama tetapi tidak dalam tatasusunan kedua.
Selain itu, perlu diingatkan bahawa apabila membandingkan tatasusunan untuk melihat sama ada ia sama dalam PHP, susunan tatasusunan tidak penting. Iaitu, walaupun susunan elemen dua tatasusunan adalah berbeza, selagi ia mengandungi elemen yang sama, ia adalah tatasusunan yang sama. Ini disebabkan oleh pelaksanaan dalaman tatasusunan dalam PHP.
Untuk meringkaskan, agak mudah untuk menentukan sama ada dua tatasusunan adalah sama dalam PHP Anda hanya perlu mengira perbezaan antara dua tatasusunan melalui fungsi array_diff() Jika hasilnya ialah tatasusunan kosong. dua tatasusunan adalah sama. Juga, ambil perhatian bahawa susunan unsur tidak penting apabila membandingkan tatasusunan.
Atas ialah kandungan terperinci php+dua tatasusunan sama ada. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!