Rumah > pembangunan bahagian belakang > tutorial php > PHP mengembalikan tatasusunan perbezaan dua tatasusunan

PHP mengembalikan tatasusunan perbezaan dua tatasusunan

王林
Lepaskan: 2024-03-21 09:40:01
ke hadapan
822 orang telah melayarinya

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);
Salin selepas log masuk

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 )
Salin selepas log masuk
array_diff()函数返回了一个包含array1中的元素1、3和5的新数组,因为这些元素不在array2Dalam 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);
Salin selepas log masuk

    Parameter:
  • 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 ) )
Salin selepas log masuk

Dalam contoh di atas, kami menggunakan fungsi untuk membandingkan sifat nama objek dalam tatasusunan. Ia mengembalikan tatasusunan baharu yang mengandungi semua sifat nama dalam dan objek berbeza dalam

.
  • array_diff()array_udiff()Perhatian:
  • Fungsi
  • dan
  • hanya akan membandingkan elemen dalam tatasusunan dengan array_keys()array_values()indeks
  • yang sama.
🎜Jika dua tatasusunan mempunyai kunci yang berbeza, kunci ini akan diabaikan dan hanya elemen dengan kunci yang sama akan dibandingkan. 🎜 🎜Kita boleh menggunakan fungsi 🎜 untuk mendapatkan senarai semua kunci atau nilai tatasusunan supaya kita boleh membandingkan tatasusunan berdasarkan kriteria yang berbeza. 🎜 🎜

Atas ialah kandungan terperinci PHP mengembalikan tatasusunan perbezaan dua tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan