Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk membandingkan dua data tatasusunan dalam php untuk melihat sama ada ia adalah data yang sama

Bagaimana untuk membandingkan dua data tatasusunan dalam php untuk melihat sama ada ia adalah data yang sama

PHPz
PHPzasal
2023-04-27 09:03:12844semak imbas

Dalam pembangunan PHP, selalunya perlu membandingkan sama ada data dalam dua tatasusunan adalah sama. Ini adalah perkara biasa semasa memproses data. Artikel ini akan memperkenalkan beberapa kaedah untuk membandingkan sama ada dua data tatasusunan adalah sama. Saya harap ia dapat membantu pembaca.

  1. fungsi array_diff

fungsi array_diff digunakan untuk membandingkan perbezaan antara dua tatasusunan Jika dua data tatasusunan adalah betul-betul sama, tatasusunan kosong dikembalikan. Penggunaannya adalah seperti berikut:

$arr1 = array('a', 'b', 'c');
$arr2 = array('a', 'b', 'd');
$diff = array_diff($arr1, $arr2);
if(empty($diff)){
  echo '两个数组相同';
} else {
  echo '两个数组不同';
}

Hasil keluaran: "Dua tatasusunan adalah berbeza".

  1. fungsi array_intersect

fungsi array_intersect digunakan untuk mendapatkan persilangan dua tatasusunan Jika data dalam dua tatasusunan adalah betul-betul sama, tatasusunan asal dikembalikan. Penggunaannya adalah seperti berikut:

$arr1 = array('a', 'b', 'c');
$arr2 = array('a', 'b');
$intersect = array_intersect($arr1, $arr2);
if($arr1 === $intersect){
  echo '两个数组相同';
} else {
  echo '两个数组不同';
}

Hasil keluaran: "Dua tatasusunan adalah berbeza".

  1. fungsi array_diff_assoc

fungsi array_diff_assoc digunakan untuk membandingkan perbezaan antara dua tatasusunan (termasuk pasangan nilai kunci jika kedua-dua data tatasusunan adalah sama, a tatasusunan kosong dikembalikan. Penggunaannya adalah seperti berikut:

$arr1 = array('a' => 1, 'b' => 2, 'c' => 3);
$arr2 = array('a' => 1, 'b' => 4, 'c' => 3);
$diff = array_diff_assoc($arr1, $arr2);
if(empty($diff)){
  echo '两个数组相同';
} else {
  echo '两个数组不同';
}

Hasil keluaran: "Dua tatasusunan adalah berbeza".

  1. fungsi array_intersect_assoc

fungsi array_intersect_assoc digunakan untuk mendapatkan persilangan dua tatasusunan (termasuk pasangan nilai kunci jika data dalam dua tatasusunan adalah betul-betul sama , nilai asal dikembalikan. Penggunaannya adalah seperti berikut:

$arr1 = array('a' => 1, 'b' => 2, 'c' => 3);
$arr2 = array('a' => 1, 'b' => 2);
$intersect = array_intersect_assoc($arr1, $arr2);
if($arr1 === $intersect){
  echo '两个数组相同';
} else {
  echo '两个数组不同';
}

Hasil keluaran: "Dua tatasusunan adalah berbeza".

  1. mensiri dan menyahsiri fungsi

Fungsi bersiri mensiri tatasusunan dan boleh membandingkan dengan mudah sama ada dua tatasusunan adalah sama. Penggunaannya adalah seperti berikut:

$arr1 = array('a' => 1, 'b' => 2, 'c' => 3);
$arr2 = array('a' => 1, 'b' => 2, 'c' => 3);
if(serialize($arr1) === serialize($arr2)){
  echo '两个数组相同';
} else {
  echo '两个数组不同';
}

Hasil keluaran: "Dua tatasusunan adalah sama".

  1. fungsi json_encode dan json_decode

Fungsi json_encode menukar tatasusunan kepada format json untuk perbandingan yang mudah. Penggunaannya adalah seperti berikut:

$arr1 = array('a' => 1, 'b' => 2, 'c' => 3);
$arr2 = array('a' => 1, 'b' => 2, 'c' => 3);
if(json_encode($arr1) === json_encode($arr2)){
  echo '两个数组相同';
} else {
  echo '两个数组不同';
}

Hasil keluaran: "Dua tatasusunan adalah sama".

Di atas adalah beberapa kaedah untuk membandingkan sama ada dua data tatasusunan adalah sama Pembangun boleh memilih kaedah yang sesuai mengikut situasi sebenar.

Atas ialah kandungan terperinci Bagaimana untuk membandingkan dua data tatasusunan dalam php untuk melihat sama ada ia adalah data yang sama. 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