Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP mengembalikan tatasusunan perbezaan dua tatasusunan

PHP mengembalikan tatasusunan perbezaan dua tatasusunan

王林
王林ke hadapan
2024-03-21 09:32:06785semak imbas

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的新数组,因为这些元素不在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);

    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 ) )

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!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam