Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan fungsi panggil balik yang ditetapkan pengguna untuk mengira persilangan nilai kunci tatasusunan menggunakan fungsi array_walk_uintersect_assoc dalam PHP

Cara menggunakan fungsi panggil balik yang ditetapkan pengguna untuk mengira persilangan nilai kunci tatasusunan menggunakan fungsi array_walk_uintersect_assoc dalam PHP

WBOY
WBOYasal
2023-06-26 11:13:47538semak imbas

Dalam PHP, pelbagai fungsi tatasusunan disediakan untuk melaksanakan operasi dan pemprosesan tatasusunan. Salah satu fungsi yang sangat berguna ialah fungsi array_walk_uintersect_assoc, yang boleh mengira persilangan nilai kunci tatasusunan melalui fungsi panggil balik yang ditentukan pengguna. Artikel ini akan memperincikan cara menggunakan fungsi ini dan cara menulis fungsi panggil balik tersuai.

1. Sintaks asas fungsi array_walk_uintersect_assoc

array_walk_uintersect_assoc(array1, array2, array3, ..., "user_defined_function", data)

Fungsi ini menerima berbilang parameter, dan array parameter21 yang pertama tatasusunan parameter ketiga, dsb. mewakili senarai tatasusunan untuk dibandingkan, dan boleh terdapat berbilang tatasusunan dalam turutan. "user_defined_function" mewakili fungsi panggil balik yang ditentukan pengguna untuk dibandingkan, dan data parameter terakhir adalah pilihan dan boleh digunakan dalam fungsi panggil balik.

Nilai pulangan fungsi ini ialah tatasusunan, yang mengandungi persilangan nilai utama semua tatasusunan input.

2. Tulis fungsi panggil balik yang ditentukan pengguna

Apabila menggunakan fungsi array_walk_uintersect_assoc untuk mengira persilangan nilai kunci tatasusunan, anda perlu menulis fungsi panggil balik yang ditentukan pengguna untuk melaksanakan operasi perbandingan tertentu. Contoh diberikan di bawah:

function custom_function($a,$b)
{

if ($a===$b)
{
    return 0;
}
elseif ($a > $b)
{
    return 1;
}
else{
    return -1;
}

}

Fungsi ini menerima dua parameter $a dan $b, digunakan untuk membandingkan nilai dua elemen, jika ia sama, Mengembalikan 0; jika $a lebih besar daripada $b, mengembalikan 1;

3. Gunakan fungsi array_walk_uintersect_assoc untuk mengira persilangan nilai kunci tatasusunan ​​

Contoh diberikan di bawah untuk menunjukkan cara menggunakan fungsi array_walk_uintersect_assoc dan fungsi panggil balik tersuai untuk mengira persilangan nilai kunci:

1

= tatasusunan("a" => "epal ", "b" => "pisang", "c" => "ceri");
$arra2 = tatasusunan("d" => "epal", "b" => "beri", " f"=> "fig");
$arra3 = array("b" => "bubba", "f" => "filbert", "g" => "anggur");

$ hasil = array_walk_uintersect_assoc($arra1, $arra2, $arra3, "custom_function");

print_r($result);

Kod di atas akan mengembalikan tatasusunan yang mengandungi persilangan nilai utama tiga tatasusunan input. Dalam contoh ini, nilai "pisang" untuk kunci "b" adalah sama dengan nilai "beri" untuk kunci "b", jadi ia dimasukkan dalam tatasusunan yang terhasil. Pada masa yang sama, kunci "a" dan kunci "d" juga akan disertakan dalam tatasusunan hasil.

4. Ringkasan

Artikel ini menerangkan cara menggunakan fungsi array_walk_uintersect_assoc dan fungsi panggil balik yang ditentukan pengguna dalam PHP untuk mengira persilangan nilai kunci tatasusunan. Apabila menggunakan fungsi ini, anda perlu mentakrifkan fungsi panggil balik dahulu, dan kemudian gunakan nama fungsi sebagai parameter kelima fungsi array_walk_uiintersect_assoc. Dengan cara ini, anda boleh menulis kod pemprosesan tatasusunan dengan sangat mudah.

Atas ialah kandungan terperinci Cara menggunakan fungsi panggil balik yang ditetapkan pengguna untuk mengira persilangan nilai kunci tatasusunan menggunakan fungsi array_walk_uintersect_assoc dalam PHP. 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