Bagaimana untuk secara berulang mengurangkan tatasusunan kepada satu nilai menggunakan fungsi panggil balik dalam PHP

王林
Lepaskan: 2024-03-19 12:50:02
ke hadapan
679 orang telah melayarinya

Editor PHP Xiaoxin memperkenalkan anda cara menggunakan fungsi panggil balik untuk memudahkan tatasusunan secara berulang kepada nilai tunggal. Fungsi panggil balik memainkan peranan penting dalam pemprosesan tatasusunan, memudahkan operasi pada tatasusunan dengan mengulangi elemen tatasusunan dan menukarnya kepada satu nilai. Teknologi ini digunakan secara meluas dalam PHP dan boleh membantu pembangun memproses data tatasusunan dengan lebih cekap dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Berikut akan memperkenalkan secara terperinci cara menggunakan fungsi panggil balik untuk melaksanakan fungsi ini, membolehkan anda menguasai kemahiran pemudahan tatasusunan dengan mudah.

Gunakan fungsi panggil balik untuk memudahkan tatasusunan secara berulang kepada nilai tunggal

Ikhtisar

php menyediakan cara ringkas untuk mengulang tatasusunan dan mengurangkannya kepada satu nilai menggunakan fungsi panggil balik. Dengan menggunakan fungsi array_reduce(), anda boleh menggunakan fungsi tersuai untuk mengumpul elemen tatasusunan untuk mendapatkan satu hasil akhir.

Tatabahasa

array_reduce($array, $callback, $initial)
Salin selepas log masuk
  • $array: Tatasusunan untuk dipermudahkan.
  • $panggilan balik: Fungsi panggil balik yang menerima dua parameter: nilai terkumpul semasa dan elemen tatasusunan sedang diproses.
  • $initial:(pilihan) nilai terkumpul awal. Jika diabaikan, elemen pertama tatasusunan digunakan sebagai nilai awal.

Fungsi

array_reduce() menggunakan fungsi panggil balik untuk setiap elemen bermula dari permulaan tatasusunan. Ia kemudian menggunakan nilai pulangan fungsi panggil balik sebagai hujah kepada panggilan fungsi panggil balik seterusnya, bersama-sama dengan elemen seterusnya. Proses ini berterusan sehingga akhir tatasusunan.

Fungsi panggil balik

Fungsi panggil balik ialah fungsi tersuai yang dihantar kepada array_reduce(). Ia mesti menerima dua parameter:

  • $carry: Nilai terkumpul semasa.
  • $item: Elemen tatasusunan sedang diproses.

Fungsi panggil balik harus mengembalikan nilai yang akan menjadi nilai terkumpul untuk panggilan fungsi panggil balik seterusnya.

Contoh

Jumlah susunan nombor

$numbers = [1, 2, 3, 4, 5];

$sum = array_reduce($numbers, function ($carry, $item) {
return $carry + $item;
}, 0);

// $sum 为 15
Salin selepas log masuk

Sambungkan tatasusunan rentetan menjadi satu rentetan

$strings = ["Hello", " ", "World"];

$concatenated = array_reduce($strings, function ($carry, $item) {
return $carry . $item;
}, "");

// $concatenated 为 "Hello World"
Salin selepas log masuk

Kira purata nilai dalam tatasusunan

$values = [5.2, 7.8, 9.1, 4.5];

$average = array_reduce($values, function ($carry, $item) {
return ($carry + $item) / 2;
}, 0);

// $average 为 6.65
Salin selepas log masuk

Nota

  • Fungsi panggil balik mesti sentiasa mengembalikan nilai, walaupun jika nilai itu diabaikan oleh panggilan fungsi panggil balik berikutnya.
  • Pastikan fungsi panggil balik tidak menghasilkan kesan sampingan, seperti mengubah suai elemen tatasusunan.
  • array_reduce() akan mengembalikan nilai $initial jika tatasusunan kosong (atau NULL jika tidak disediakan).

Atas ialah kandungan terperinci Bagaimana untuk secara berulang mengurangkan tatasusunan kepada satu nilai menggunakan fungsi panggil balik dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!