Editor PHP Banana akan memperkenalkan kepada anda hari ini cara menggunakan fungsi yang ditentukan pengguna untuk melaksanakan pemprosesan panggil balik pada setiap elemen dalam tatasusunan. Dengan menulis fungsi tersuai, kami boleh melakukan operasi atau logik yang sama pada setiap elemen dalam tatasusunan, mencapai pemprosesan data yang lebih cekap. Kaedah ini amat berguna apabila memproses sejumlah besar data, memudahkan struktur kod dan meningkatkan kebolehselenggaraan dan kebolehgunaan semula kod. Seterusnya, mari belajar secara mendalam cara menggunakan fungsi yang ditentukan pengguna untuk melaksanakan pemprosesan panggil balik pada tatasusunan!
Gunakan fungsi yang ditentukan pengguna untuk melaksanakan pemprosesan panggil balik pada setiap elemen dalam tatasusunan
php menyediakan fungsi array_map()
, yang membolehkan anda melakukan operasi panggil balik pada setiap elemen dalam tatasusunan menggunakan fungsi yang ditentukan pengguna. Untuk menggunakan fungsi ini:
Tentukan fungsi panggil balik: Buat fungsi yang anda ingin gunakan pada elemen tatasusunan. Fungsi panggil balik menerima satu parameter (elemen tatasusunan) dan mengembalikan hasil.
Panggil array_map(): Gunakan fungsi array_map()
, lulus fungsi panggil balik dan tatasusunan untuk diproses sebagai argumen:
$array = [1, 2, 3, 4, 5]; $callback = function($n) { return $n * 2; }; $result = array_map($callback, $array);
Contoh:
Andaikan anda mempunyai tatasusunan yang mengandungi nombor dan anda ingin menggandakan setiap nombor. Anda boleh menggunakan kod berikut:
$array = [1, 2, 3, 4, 5]; // 定义回调函数 $callback = function($n) { return $n * 2; }; // 使用 array_map() 将回调函数应用到数组 $result = array_map($callback, $array); // 打印结果 print_r($result);
Output:
Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )
Parameter:
Nilai pulangan:
array_map()
Mengembalikan tatasusunan baharu yang mengandungi hasil fungsi panggil balik.
Ciri-ciri tambahan:
Melalui Berbilang Tatasusunan: Anda boleh menghantar berbilang tatasusunan sebagai hujah kedua array_map()
, dalam keadaan ini fungsi panggil balik akan menerima elemen yang sepadan daripada tatasusunan ini.
Simpan kunci: Secara lalai, array_map()
将生成一个新数组,其中保留键。要保持原始数组的键,请使用 array_map()
的第三个参数:array_preserve_keys => true
akan menjana tatasusunan baharu dengan kunci dipelihara. Untuk mengekalkan kunci tatasusunan asal, gunakan argumen ketiga untuk
array_preserve_keys => </li>
<li>
<p>
<strong></strong>Gunakan penutupan: <code>function () { ... }
Penutupan ialah fungsi tanpa nama yang sangat sesuai digunakan sebagai fungsi panggil balik. Untuk membuat penutupan, gunakan sintaks .
Menggunakan panggil balik dalam talian: Anda juga boleh menggunakan panggilan balik dalam talian, di mana fungsi panggil balik dihantar terus ke sebagai rentetan array_map()
:
$result = array_map("strlen", $array);
Senario penggunaan:
array_map()
Boleh digunakan dalam pelbagai senario, antaranya:
Atas ialah kandungan terperinci Cara menggunakan fungsi yang ditentukan pengguna dalam PHP untuk melaksanakan pemprosesan panggilan balik pada setiap elemen dalam tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!