Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menjumlahkan nilai dalam tatasusunan satu dimensi dalam PHP

Bagaimana untuk menjumlahkan nilai dalam tatasusunan satu dimensi dalam PHP

PHPz
PHPzasal
2023-04-23 19:29:51798semak imbas

Dalam PHP, tatasusunan ialah jenis data yang sangat biasa digunakan, dan operasi jumlah nilai tertentu dalam tatasusunan juga merupakan salah satu keperluan biasa. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menjumlahkan nilai dalam tatasusunan satu dimensi, dan menyediakan beberapa contoh berkaitan sebagai rujukan.

1. Gunakan fungsi array_reduce untuk melaksanakan penjumlahan

Fungsi array_reduce boleh mengurangkan semua elemen dalam tatasusunan, dan kaedah pengurangan boleh ditentukan sendiri. Apabila atribut tertentu dalam tatasusunan perlu dijumlahkan, atribut itu boleh digunakan sebagai parameter operasi pengurangan Pelaksanaan khusus adalah seperti berikut:

$numbers = array(10, 20, 30, 40, 50);
$sum = array_reduce($numbers, function($carry, $item) {
    return $carry + $item;
}, 0);
echo "数组总和为:" . $sum;

Dalam kod di atas, kami mula-mula mentakrifkan. tatasusunan $numbers, Dan gunakan fungsi array_reduce untuk melaksanakan operasi jumlah. Dalam operasi pengurangan, kami menggunakan pembolehubah $carry untuk menyimpan hasil selepas pengurangan terakhir, dan pembolehubah $item mewakili nilai elemen semasa. Dalam kes ini, operasi pengurangan ialah operasi penambahan yang mudah, dan 0 mewakili nilai awal operasi pengurangan pertama.

Menjalankan kod di atas, kita boleh mendapatkan hasil berikut:

数组总和为:150

Contoh di atas menunjukkan cara menggunakan fungsi array_reduce untuk mencari jumlah elemen dalam tatasusunan satu dimensi. Tetapi jika kita ingin menjumlahkan atribut dalam tatasusunan satu dimensi, bagaimanakah kita harus melakukannya? Pada masa ini, fungsi panggil balik boleh digunakan sebagai parameter operasi pengurangan, dan atribut pengurangan boleh ditapis dan ditambah dalam fungsi panggil balik. Pelaksanaan khusus adalah seperti berikut:

$students = array (
    "Tom" => array("age" => 23, "score" => 80),
    "Jerry" => array("age" => 22, "score" => 90),
    "Mickey" => array("age" => 23, "score" => 85)
);

$sum = array_reduce($students, function($carry, $item) {
    return $carry + $item['score'];
}, 0);
echo "学生成绩总分为:" . $sum;

Dalam kod di atas, kami mentakrifkan tatasusunan maklumat pelajar $students, di mana setiap elemen terdiri daripada nama, umur dan skor. Kami menggunakan fungsi array_reduce dan fungsi panggil balik untuk mengumpul markah setiap elemen pelajar untuk mendapatkan jumlah markah gred pelajar.

Menjalankan kod di atas, kita boleh mendapatkan hasil berikut:

学生成绩总分为:255

Seperti yang dapat dilihat daripada contoh di atas, fungsi array_reduce boleh digunakan untuk melaksanakan penjumlahan atribut secara fleksibel dalam tatasusunan satu dimensi beroperasi.

2. Gunakan gelung foreach untuk melaksanakan penjumlahan

Berbanding dengan fungsi array_reduce, PHP juga boleh menggunakan gelung foreach biasa untuk melaksanakan jumlah atribut dalam tatasusunan satu dimensi. Pelaksanaan khusus adalah seperti berikut:

$students = array (
    "Tom" => array("age" => 23, "score" => 80),
    "Jerry" => array("age" => 22, "score" => 90),
    "Mickey" => array("age" => 23, "score" => 85)
);

$sum = 0;
foreach ($students as $student) {
    $sum += $student['score'];
}
echo "学生成绩总分为:" . $sum;

Pelaksanaan di sini agak mudah, iaitu menggunakan gelung foreach untuk melintasi semua elemen dalam tatasusunan mengikut urutan, dan mengumpul markah setiap elemen, dan akhirnya mendapat jumlah markah prestasi pelajar.

Jalankan kod di atas, kita boleh mendapatkan hasil berikut:

学生成绩总分为:255

Dapat dilihat bahawa menggunakan gelung foreach juga merupakan kaedah pelaksanaan biasa, terutamanya sesuai untuk memproses tatasusunan yang lebih kecil.

3. Gunakan fungsi array_sum untuk melaksanakan penjumlahan

Selain fungsi array_reduce, PHP juga menyediakan fungsi array_sum yang digunakan khusus untuk menyelesaikan jumlah elemen tatasusunan. Fungsi ini sangat mudah. ​​Ia hanya mengambil tatasusunan sebagai parameter dan mengembalikan jumlah elemennya. operasi jumlah pada tatasusunan

Akhirnya, Dapatkan jumlahnya.
$numbers = array(10, 20, 30, 40, 50);
$sum = array_sum($numbers);
echo "数组总和为:" . $sum;

Jalankan kod di atas, kita boleh mendapatkan keputusan berikut: $numbers

Perlu diambil perhatian bahawa fungsi array_sum hanya boleh digunakan untuk menyelesaikan tatasusunan indeks berangka satu dimensi Jika anda perlu menyelesaikan tatasusunan bersekutu satu dimensi Untuk menjumlahkan atribut dalam tatasusunan, anda perlu menggunakan fungsi lajur_tatasusunan terlebih dahulu untuk menukarnya kepada tatasusunan indeks berangka, dan kemudian gunakan fungsi jumlah_tatasusunan untuk melaksanakan jumlah itu.

数组总和为:150
4. Ringkasan

Artikel ini memperkenalkan kaedah pelaksanaan menjumlahkan atribut dalam tatasusunan satu dimensi dalam PHP, termasuk fungsi array_reduce, foreach fungsi dan array_sum. Sebagai perbandingan, fungsi array_reduce adalah yang paling fleksibel dan boleh menyesuaikan diri dengan pelbagai senario, tetapi kerumitannya juga agak tinggi. Fungsi gelung foreach dan array_sum adalah lebih ringkas dan lebih mudah, sesuai untuk memproses tatasusunan kecil. Kaedah pelaksanaan yang berbeza boleh dipilih mengikut keperluan sebenar untuk mencapai hasil yang optimum.

Atas ialah kandungan terperinci Bagaimana untuk menjumlahkan nilai dalam tatasusunan satu dimensi dalam 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