Rumah >pembangunan bahagian belakang >tutorial php >Pengenalan terperinci kepada penggunaan fungsi array_walk() dalam pustaka fungsi PHP

Pengenalan terperinci kepada penggunaan fungsi array_walk() dalam pustaka fungsi PHP

WBOY
WBOYasal
2023-06-27 13:47:12964semak imbas

Pengenalan terperinci kepada penggunaan fungsi array_walk() dalam pustaka fungsi PHP

fungsi array_walk() ialah fungsi tatasusunan yang sangat biasa digunakan dalam PHP Fungsinya adalah untuk melaksanakan fungsi yang ditentukan pengguna untuk setiap elemen dalam tatasusunan. Penggunaan fungsi array_walk() boleh memudahkan penulisan kod dan meningkatkan kecekapan program, terutamanya apabila memproses tatasusunan. Ia sangat berguna.

Penggunaan

array_walk() sintaks fungsi adalah seperti berikut:
array_walk (array &$array , boleh panggil $callback [, mixed $userdata = NULL ] )

Parameter description:

    must to beray:,$array tatasusunan yang diproses.
  1. $panggilan balik: fungsi yang mesti dilaksanakan.
  2. $userdata: Pilihan, parameter tambahan yang dihantar ke fungsi panggil balik, yang boleh menjadi nilai atau tatasusunan.
Fungsi panggil balik

Fungsi panggil balik ialah bahagian terpenting array_walk(), ia perlu ditakrifkan sendiri. Sintaks asas bagi fungsi panggil balik adalah seperti berikut:

fungsi panggilan balik_fungsi (&$array_item, $array_key, $userdata) {
//kod fungsi di sini
}

di mana:

    &$array_item: diperlukan, nilai elemen tatasusunan semasa. Memandangkan fungsi diluluskan melalui rujukan, elemen boleh dikendalikan terus menggunakan simbol &.
  1. $array_key: Pilihan, kunci elemen tatasusunan semasa Jika anda ingin mengendalikan kekunci tatasusunan, anda boleh menggunakan parameter ini.
  2. $userdata: Pilihan, parameter tambahan yang dihantar ke fungsi panggil balik, yang boleh menjadi nilai atau tatasusunan.
Contoh

Mari kita lihat contoh penggunaan mudah:

$arr = array(1,2,3,4,5,6,7);

function multiply(&$item, $key, $ faktor) {
$item *= $factor;
}
array_walk($arr, 'multiply', 3);
print_r($arr);

Hasil output adalah seperti berikut:

Array

(
[0 ] => ; 3
[1] => 6
[2] => > 21
)

Dalam contoh di atas, kita mula-mula mentakrifkan tatasusunan $arr, dan kemudian mentakrifkan fungsi panggil balik darab(). Fungsi panggil balik ini menerima tiga parameter Parameter pertama ialah nilai elemen tatasusunan semasa, parameter kedua ialah nilai kunci elemen tatasusunan semasa, dan parameter ketiga ialah parameter tambahan yang dihantar kepada fungsi panggil balik, iaitu, pengganda.

Dalam fungsi array_walk(), kami memanggil tatasusunan $arr sebagai parameter pertama, darab() sebagai parameter kedua dan lulus nombor 3 sebagai parameter ketiga kepada fungsi darab(). Dengan cara ini, fungsi multiply() mendarabkan setiap elemen dalam tatasusunan dengan 3 dan secara langsung mengubahsuai nilai tatasusunan, akhirnya menghasilkan tatasusunan baharu.

Nota

Fungsi panggil balik mesti mempunyai satu parameter, iaitu nilai elemen tatasusunan semasa Jika anda perlu mengendalikan nilai kunci semasa, anda perlu menambah parameter kedua.

Untuk tatasusunan bukan rujukan, nilainya tidak boleh diubah suai secara langsung dalam fungsi panggil balik.

    Nilai utama elemen tatasusunan dalam fungsi panggil balik adalah konsisten dengan tatasusunan asal Walaupun array_walk() digunakan untuk memproses tatasusunan dengan kekunci bukan angka, nilai kunci tatasusunan masih dikekalkan. . Fungsi
  1. Ringkasan
  2. array_walk() ialah fungsi tatasusunan yang sangat berkuasa yang boleh membantu kami memudahkan dan meningkatkan pemprosesan tatasusunan. Dalam pembangunan sebenar, kita boleh mentakrifkan fungsi panggil balik mengikut keperluan kita sendiri dan secara fleksibel menggunakan fungsi array_walk() untuk menjadikan kod lebih ringkas dan cekap.

Atas ialah kandungan terperinci Pengenalan terperinci kepada penggunaan fungsi array_walk() dalam pustaka fungsi 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