Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan fungsi array_walk_recursive dalam PHP untuk menggunakan fungsi panggil balik pada elemen tatasusunan berbilang dimensi

Cara menggunakan fungsi array_walk_recursive dalam PHP untuk menggunakan fungsi panggil balik pada elemen tatasusunan berbilang dimensi

WBOY
WBOYasal
2023-06-26 11:46:23519semak imbas

Dalam PHP, fungsi array_walk_recursive boleh digunakan untuk menggunakan fungsi panggil balik kepada semua elemen dalam tatasusunan berbilang dimensi. Artikel ini akan memperkenalkan cara menggunakan fungsi array_walk_recursive.

  1. Apakah tatasusunan berbilang dimensi

Dalam PHP, tatasusunan boleh menjadi pelbagai dimensi, iaitu, tatasusunan boleh mengandungi tatasusunan lain. Sebagai contoh, tatasusunan berikut ialah tatasusunan dua dimensi:

$array = array(
    array('name' => 'john', 'age' => 20),
    array('name' => 'mary', 'age' => 25)
);
  1. array_walk_recursive function

array_walk_recursive fungsi digunakan untuk menggunakan fungsi panggil balik kepada semua elemen dalam tatasusunan berbilang dimensi. Sintaksnya adalah seperti berikut:

array_walk_recursive ( array &$array , callable $callback [, mixed $userdata = NULL ] ) : bool

Penerangan parameter:

  • $array: tatasusunan berbilang dimensi untuk diproses
  • $panggilan balik: fungsi panggil balik yang digunakan pada elemen tatasusunan
  • $data pengguna: data pengguna pilihan, dihantar ke panggilan balik fungsi

Kembalikan benar jika berjaya, jika tidak kembali palsu.

  1. Menggunakan fungsi array_walk_recursive

Berikut ialah contoh penggunaan fungsi array_walk_recursive. Katakan kami mempunyai tatasusunan berbilang dimensi yang mengandungi nama dan umur pengguna, dan kami ingin menambah 10 pada setiap umur dan mencetak nama setiap pengguna dan umur baharu.

function add_age(&$item, $key) {
    if ($key == 'age') {
        $item += 10;
    }
}

$array = array(
    array('name' => 'john', 'age' => 20),
    array('name' => 'mary', 'age' => 25)
);

array_walk_recursive($array, 'add_age');

foreach ($array as $key => $value) {
    echo $value['name'] . ' ' . $value['age'] . '
'; }

Dalam contoh ini, kami mentakrifkan fungsi panggil balik add_age yang menambah 10 kepada semua peringkat umur. Kami kemudian menghantar fungsi panggil balik ini kepada fungsi array_walk_recursive, menghantarnya tatasusunan multidimensi kami. Akhir sekali, kami menggunakan gelung foreach untuk mencetak nama setiap pengguna dan umur baharu.

  1. Ringkasan

array_walk_recursive fungsi boleh menggunakan fungsi panggil balik dengan mudah kepada semua elemen dalam tatasusunan berbilang dimensi. Ia sangat berguna apabila berurusan dengan tatasusunan bersarang berbilang peringkat, yang boleh mengelakkan menulis banyak kod berulang. Kita boleh menggunakan fungsi ini untuk menyelesaikan pelbagai operasi, seperti penapisan data, penukaran, dsb.

Atas ialah kandungan terperinci Cara menggunakan fungsi array_walk_recursive dalam PHP untuk menggunakan fungsi panggil balik pada elemen tatasusunan berbilang dimensi. 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