Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk secara berulang mengurangkan tatasusunan kepada satu nilai menggunakan fungsi panggil balik dalam PHP

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

王林
王林ke hadapan
2024-03-19 12:43:49707semak imbas

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)
  • $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

Sambungkan tatasusunan rentetan menjadi satu rentetan

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

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

// $concatenated 为 "Hello World"

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

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!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam