Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menentukan sama ada tatasusunan telah berubah dalam php
Dalam PHP, kita boleh menggunakan operator perbandingan ==
atau ===
untuk membandingkan dua tatasusunan untuk kesamaan. Tetapi jika anda ingin menentukan sama ada tatasusunan telah berubah, anda perlu menggunakan beberapa kaedah lain.
Berikut ialah beberapa kaedah untuk menentukan sama ada tatasusunan telah berubah:
PHP menyediakan beberapa fungsi khusus untuk menentukan sama ada tatasusunan telah berubah. Antaranya, yang paling biasa digunakan ialah fungsi array_diff
. Fungsi ini membandingkan perbezaan antara dua tatasusunan dan mengembalikan elemen yang berbeza.
Kod sampel:
$array1 = array('a', 'b', 'c'); $array2 = array('a', 'b', 'd'); $result = array_diff($array1, $array2); if(!empty($result)) { echo '数组已经改变'; } else { echo '数组没有改变'; }
Dalam PHP, setiap tatasusunan mempunyai nilai cincang yang unik. Apabila elemen tatasusunan berubah, nilai cincangnya juga berubah.
Kita boleh menggunakan fungsi md5
untuk mendapatkan nilai cincang tatasusunan dan bandingkannya dengan nilai cincang yang disimpan sebelum ini untuk menentukan sama ada tatasusunan itu telah berubah.
Kod sampel:
$array1 = array('a', 'b', 'c'); $array2 = array('a', 'b', 'c'); $hash1 = md5(serialize($array1)); $hash2 = md5(serialize($array2)); if($hash1 !== $hash2) { echo '数组已经改变'; } else { echo '数组没有改变'; }
Dalam versi selepas PHP 5.1.0, pembolehubah tatasusunan boleh dihantar ke fungsi sebagai rujukan, menggunakan &
simbol.
Pembolehubah tatasusunan boleh diubah suai di dalam fungsi dengan menghantar pembolehubah tatasusunan sebagai rujukan kepada fungsi tersebut. Oleh itu, kita boleh mendapatkan pembolehubah tatasusunan selepas rujukan diluluskan dan membandingkannya dengan pembolehubah tatasusunan yang disimpan sebelum ini untuk menentukan sama ada tatasusunan telah berubah.
Kod sampel:
$array1 = array('a', 'b', 'c'); $array2 = $array1; $array2[] = 'd'; if($array1 === $array2) { echo '数组没有改变'; } else { echo '数组已经改变'; }
Di atas adalah beberapa kaedah untuk menentukan sama ada tatasusunan telah berubah Anda boleh memilih untuk menggunakan kaedah yang berbeza mengikut senario sebenar. Pada masa yang sama, pelbagai kaedah juga boleh digunakan dalam kombinasi untuk mencapai pertimbangan yang lebih tepat.
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada tatasusunan telah berubah dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!