Rumah pembangunan bahagian belakang masalah PHP Apakah fungsi jumlah bersyarat tatasusunan php?

Apakah fungsi jumlah bersyarat tatasusunan php?

Apr 19, 2023 am 11:37 AM

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan web. Dalam PHP, tatasusunan ialah jenis data yang sangat biasa dengan banyak fungsi berguna. Antaranya, fungsi jumlah bersyarat tatasusunan ialah fungsi yang sangat praktikal yang boleh membantu kami menjumlahkan elemen dalam tatasusunan yang memenuhi syarat tertentu.

Fungsi penjumlahan bersyarat tatasusunan biasanya dibahagikan kepada dua jenis: satu ialah menjumlahkan semua elemen dalam tatasusunan, dan satu lagi menjumlahkan elemen dalam tatasusunan yang memenuhi syarat tertentu. Untuk kes terdahulu, kita boleh menggunakan fungsi array_sum() terbina dalam PHP untuk mencapai ini. Penggunaan fungsi ini adalah sangat mudah Anda hanya perlu menghantar dalam tatasusunan sebagai parameter dan ia akan mengembalikan jumlah semua elemen dalam tatasusunan.

Sebagai contoh, kita mencipta tatasusunan ringkas:

$numbers = array(1, 2, 3, 4, 5);
Salin selepas log masuk

Kemudian kita boleh menggunakan fungsi array_sum() untuk mencari jumlah semua elemen tatasusunan:

$total = array_sum($numbers);
echo $total;
Salin selepas log masuk

Hasil keluaran ialah 15, iaitu hasil tambah 1+2+3+4+5.

Untuk kes kedua, iaitu, untuk menjumlahkan elemen dalam tatasusunan yang memenuhi syarat tertentu, kita boleh menggunakan fungsi array_reduce() dalam PHP. Fungsi ini perlu lulus dalam dua parameter: parameter pertama ialah tatasusunan untuk dikira, dan parameter kedua ialah fungsi panggil balik. Fungsi fungsi panggil balik adalah untuk mengira setiap elemen tatasusunan dan mengembalikan hasil yang dikira.

Sebagai contoh, kami mempunyai tatasusunan yang menyimpan harga produk dan kami ingin menjumlahkan produk yang harganya melebihi 100. Kita boleh melaksanakannya seperti ini:

$prices = array(50, 150, 200, 80, 120);
$total = array_reduce($prices, function($carry, $item) {
    if ($item > 100) {
        return $carry + $item;
    } else {
        return $carry;
    }
});

echo $total;
Salin selepas log masuk

Hasil keluaran ialah 470, iaitu jumlah 150+200+120. Dalam contoh ini, kami menggunakan fungsi tanpa nama sebagai fungsi panggil balik. Fungsi tanpa nama ini menentukan sama ada setiap elemen tatasusunan lebih besar daripada 100. Jika ya, elemen itu ditambahkan pada pembolehubah $carry, jika tidak, tiada operasi dilakukan. Akhir sekali, $total variable ialah jumlah elemen yang memenuhi syarat.

Selain menggunakan fungsi panggil balik, kita juga boleh memproses tatasusunan sebelum memanggil fungsi array_reduce(), contohnya, gunakan fungsi array_filter() untuk menapis tatasusunan, dan kemudian gunakan fungsi array_reduce() untuk melaksanakan jumlah:

$prices = array(50, 150, 200, 80, 120);
$filtered_prices = array_filter($prices, function($item) {
    return $item > 100;
});
$total = array_reduce($filtered_prices, function($carry, $item) {
    return $carry + $item;
});

echo $total;
Salin selepas log masuk

Keluaran adalah sama seperti contoh sebelumnya.

Ringkasnya, fungsi penjumlahan bersyarat tatasusunan dalam PHP ialah fungsi yang sangat praktikal yang boleh membantu kami mengira dengan cepat elemen dalam tatasusunan. Sama ada anda menjumlahkan keseluruhan tatasusunan atau menjumlahkan elemen yang memenuhi syarat tertentu, anda boleh menggunakan fungsi terbina dalam PHP untuk mencapainya. Pada masa yang sama, dengan menguasai penggunaan fungsi ini, kami juga boleh meningkatkan kecekapan dan kualiti kod dalam pembangunan PHP.

Atas ialah kandungan terperinci Apakah fungsi jumlah bersyarat tatasusunan php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah amalan terbaik untuk deduplikasi tatasusunan php Apakah amalan terbaik untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:41 PM

Apakah amalan terbaik untuk deduplikasi tatasusunan php

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Mar 03, 2025 pm 04:51 PM

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama?

Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Mar 10, 2025 pm 06:16 PM

Apakah piawaian pengekodan PHP terkini dan amalan terbaik?

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Mar 03, 2025 pm 04:47 PM

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi?

Bagaimana saya bekerja dengan sambungan php dan pecl? Bagaimana saya bekerja dengan sambungan php dan pecl? Mar 10, 2025 pm 06:12 PM

Bagaimana saya bekerja dengan sambungan php dan pecl?

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Mar 10, 2025 pm 06:15 PM

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP?

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:50 PM

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Mar 10, 2025 pm 06:12 PM

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP?

See all articles