Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengira perbezaan tatasusunan dalam PHP
Editor PHP Xigua akan memberi anda analisis terperinci tentang cara PHP mengira perbezaan dalam tatasusunan. Dalam pembangunan sebenar, membandingkan perbezaan antara dua tatasusunan ialah keperluan biasa, yang boleh membantu kami mengetahui elemen yang baru ditambah, dipadam dan diubah suai. Kita boleh melaksanakan fungsi ini dengan mudah melalui fungsi terbina dalam PHP dan beberapa logik mudah. Seterusnya, mari kita terokai cara menggunakan PHP untuk mengira perbezaan tatasusunan untuk menjadikan pembangunan anda berfungsi dengan lebih cekap dan mudah.
Panduan PHP untuk Mengira Perbezaan Tatasusunan
Mengira perbezaan tatasusunan ialah proses membandingkan dan membezakan perbezaan unsur dalam dua atau lebih tatasusunan. php menyediakan beberapa cara untuk menyelesaikan tugas ini, bergantung pada hasil yang diingini dan struktur tatasusunan.
array_diff() fungsi
array_diff()
Fungsi digunakan untuk mencari elemen yang terdapat dalam tatasusunan pertama dan tidak hadir dalam semua tatasusunan lain. Sintaksnya adalah seperti berikut:
array_diff($array1, $array2, ..., $arrayN);
Contohnya:
$array1 = ["apple", "banana", "cherry"]; $array2 = ["banana", "orange"]; $diff = array_diff($array1, $array2); // ["apple", "cherry"]
array_diff_assoc() fungsi
Fungsiarray_diff_assoc()
adalah serupa dengan array_diff_assoc()
函数类似于 array_diff()
, tetapi ia juga membandingkan kekunci tatasusunan. Ia mengembalikan elemen dengan kunci dan nilai yang sama. Sintaksnya adalah seperti berikut:
array_diff_assoc($array1, $array2, ..., $arrayN);
Contohnya:
$array1 = ["apple" => 1, "banana" => 2, "cherry" => 3]; $array2 = ["banana" => 2, "orange" => 4]; $diff = array_diff_assoc($array1, $array2); // ["apple" => 1, "cherry" => 3]
array_diff_key() fungsi
array_diff_key()
Fungsi digunakan untuk mencari elemen dengan kekunci berbeza dalam dua tatasusunan. Sintaksnya adalah seperti berikut:
array_diff_key($array1, $array2, ..., $arrayN);
Contohnya:
$array1 = ["apple" => 1, "banana" => 2]; $array2 = ["banana" => 2, "orange" => 4]; $diff = array_diff_key($array1, $array2); // ["apple" => 1]
array_udiff() dan array_uintersect() fungsi
array_udiff()
和 array_uintersect()
函数用于使用用户自定义比较函数比较两个数组中的元素。array_udiff()
返回第一个数组中存在且在其他所有数组中不存在的元素,而 array_uintersect()
Mengembalikan elemen yang terdapat dalam kedua-dua tatasusunan. Sintaks mereka adalah seperti berikut:
array_udiff($array1, $array2, ..., $arrayN, $compareFunction); array_uintersect($array1, $array2, ..., $arrayN, $compareFunction);
Fungsi perbandingan tersuai mesti mengambil dua parameter (elemen tatasusunan) dan mengembalikan integer:
Sebagai contoh, fungsi perbandingan tersuai berikut akan mengisih susunan buah-buahan mengikut nama:
function compareFruits($a, $b) { return strcmp($a["name"], $b["name"]); }
Kira perbezaan menggunakan fungsi perbandingan tersuai:
$array1 = [ ["name" => "apple", "price" => 1], ["name" => "banana", "price" => 2], ["name" => "cherry", "price" => 3], ]; $array2 = [ ["name" => "banana", "price" => 2], ["name" => "orange", "price" => 4], ]; $diff = array_udiff($array1, $array2, "compareFruits"); // [["name" => "apple", "price" => 1], ["name" => "cherry", "price" => 3]]
Dalam contoh di atas, compareFruits
函数按名称对数组元素进行排序,因此结果包含 array1
中存在且在 array2
ialah buah yang tidak wujud.
Atas ialah kandungan terperinci Bagaimana untuk mengira perbezaan tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!