Editor PHP Xigua akan memperkenalkan anda cara menggunakan PHP untuk mengembalikan tatasusunan perbezaan dua tatasusunan. Tatasusunan perbezaan merujuk kepada tatasusunan baharu yang dibentuk dengan mengambil elemen daripada tatasusunan pertama yang tiada dalam tatasusunan kedua. Fungsi ini boleh dicapai dengan mudah dengan menggunakan fungsi array_diff(). Hanya lulus dalam dua tatasusunan sebagai argumen dan fungsi akan mengembalikan tatasusunan baharu yang mengandungi elemen set perbezaan. Kaedah ini sangat mudah dan pantas, dan sesuai untuk menangani pelbagai masalah operasi tatasusunan.
Cara menggunakan PHP untuk mengembalikan tatasusunan perbezaan dua tatasusunan
Dalam php, kita boleh mengembalikan perbezaan dua tatasusunan dengan menggunakan fungsi array_diff()
. Fungsi ini menerima dua tatasusunan sebagai argumen dan mengembalikan tatasusunan baharu yang mengandungi semua elemen dalam tatasusunan pertama yang tiada dalam tatasusunan kedua.
Tatabahasa:
array_diff(array1, array2);
Parameter:
array1
: Tatasusunan untuk mengalih keluar elemen daripada. array2
: Tatasusunan yang mengandungi elemen yang akan dipadamkan. Nilai pulangan:
Susun atur baharu yang mengandungi semua elemen dalam array1
中所有不在array2
yang tiada dalam
Contoh:
$array1 = [1, 2, 3, 4, 5]; $array2 = [2, 4]; $diff = array_diff($array1, $array2); print_r($diff); // 输出:Array ( [0] => 1 [1] => 3 [2] => 5 )
array_diff()
函数返回了一个包含array1
中的元素1、3和5的新数组,因为这些元素不在array2
Dalam contoh di atas, fungsi mengembalikan tatasusunan baharu yang mengandungi elemen 1, 3 dan 5 dalam , kerana elemen ini tiada dalam .
Fungsi perbandingan tersuai: array_udiff()
Kita boleh menggunakan fungsi untuk menyesuaikan fungsi perbandingan untuk menentukan elemen mana yang harus dialih keluar daripada tatasusunan pertama.
Tatabahasa:
array_udiff(array1, array2, callback);
array1
array2
: Tatasusunan untuk mengalih keluar elemen daripada. callback
: Tatasusunan yang mengandungi elemen yang akan dipadamkan. : Fungsi perbandingan yang ditakrifkan pengguna yang menerima dua elemen sebagai argumen dan mengembalikan -1 (jika elemen pertama harus dialih keluar), 0 (jika dua elemen adalah sama) atau 1 (jika elemen kedua perlu dipadamkan).
Contoh: array_udiff()
函数来比较数组中对象的name
属性。它返回了一个包含array1
中所有name
属性与array2
$array1 = [ ["name" => "John", "age" => 30], ["name" => "Mary", "age" => 25], ["name" => "Bob", "age" => 40], ]; $array2 = [ ["name" => "Mary", "age" => 25], ]; $diff = array_udiff($array1, $array2, function ($a, $b) { return strcmp($a["name"], $b["name"]); }); print_r($diff); // 输出:Array ( [0] => Array ( [name] => John [age] => 30 ) [1] => Array ( [name] => Bob [age] => 40 ) )
Dalam contoh di atas, kami menggunakan fungsi untuk membandingkan sifat
array_diff()
和array_udiff()
Perhatian:
array_keys()
或array_values()
indeks Atas ialah kandungan terperinci PHP mengembalikan tatasusunan perbezaan dua tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!