Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menjumlahkan lajur tatasusunan dalam php

Bagaimana untuk menjumlahkan lajur tatasusunan dalam php

PHPz
PHPzasal
2023-04-25 09:05:45725semak imbas

Dalam pengaturcaraan PHP, tatasusunan ialah jenis data yang sangat biasa digunakan yang boleh digunakan untuk menyimpan satu siri data dan menjumlahkan lajur data dalam tatasusunan selalunya merupakan salah satu operasi yang diperlukan. Seterusnya kami akan memperkenalkan cara menjumlahkan lajur tatasusunan dalam PHP.

Dalam PHP, anda boleh menggunakan fungsi array_sum() untuk menjumlahkan semua elemen dalam tatasusunan Fungsi ini menerima tatasusunan sebagai parameter dan mengembalikan jumlah semua elemen dalam tatasusunan. Contohnya:

$numbers = array(1, 2, 3, 4, 5);
$sum = array_sum($numbers);
echo "数组元素总和为:$sum";

Kod di atas akan mengeluarkan:

数组元素总和为:15

Tetapi bagaimana jika kita perlu menjumlahkan lajur data tertentu dalam tatasusunan? PHP tidak mempunyai fungsi terbina dalam untuk melaksanakan fungsi ini secara langsung. Kita perlu menulis kod itu sendiri.

Sebagai contoh, kami mempunyai tatasusunan dua dimensi $data, yang mengandungi beberapa baris data, setiap baris data mempunyai struktur data yang sama seperti berikut:

$data = array(
    array('id' => 1, 'name' => 'Tom', 'score' => 80),
    array('id' => 2, 'name' => 'Jack', 'score' => 90),
    array('id' => 3, 'name' => 'Mary', 'score' => 85),
);

Sekarang, kami perlu Untuk menjumlahkan data lajur 'skor' dalam tatasusunan $data, anda boleh mengikuti langkah berikut:

  1. Tentukan pembolehubah $sum dan mulakannya kepada 0 untuk menyimpan hasil penjumlahan:
$sum = 0;
  1. Lintas tatasusunan $data, keluarkan setiap baris data secara bergilir-gilir dan kumpulkan nilai lajur 'skor' dalam baris data ke dalam pembolehubah $sum:
foreach ($data as $row) {
    $sum += $row['score'];
}
  1. Akhir sekali, pembolehubah $sum memegang jumlah data lajur 'skor'.

Kod lengkap adalah seperti berikut:

$data = array(
    array('id' => 1, 'name' => 'Tom', 'score' => 80),
    array('id' => 2, 'name' => 'Jack', 'score' => 90),
    array('id' => 3, 'name' => 'Mary', 'score' => 85),
);

$sum = 0;

foreach ($data as $row) {
    $sum += $row['score'];
}

echo "score 列数据总和为:$sum";

Kod di atas akan mengeluarkan:

score 列数据总和为:255

Kerumitan masa bagi algoritma di atas ialah O( n), di mana n Mewakili bilangan baris dalam tatasusunan $data, yang merupakan kaedah penjumlahan yang agak cekap.

Selain kaedah di atas, anda juga boleh menggunakan fungsi array_column() untuk mendapatkan lajur data dalam tatasusunan, dan kemudian gunakan fungsi array_sum() untuk menjumlahkan data lajur. Contohnya:

$data = array(
    array('id' => 1, 'name' => 'Tom', 'score' => 80),
    array('id' => 2, 'name' => 'Jack', 'score' => 90),
    array('id' => 3, 'name' => 'Mary', 'score' => 85),
);

$scores = array_column($data, 'score');
$sum = array_sum($scores);

echo "score 列数据总和为:$sum";

Kod di atas akan mengeluarkan:

score 列数据总和为:255

Kelebihan menggunakan fungsi array_column() untuk mendapatkan lajur data dalam tatasusunan ialah anda boleh secara fleksibel pilih lajur yang anda perlu dapatkan, atau anda boleh Gunakannya dengan fungsi tatasusunan lain untuk melaksanakan operasi yang lebih kompleks.

Ringkasnya, menjumlahkan lajur tatasusunan dalam PHP boleh dicapai dengan merentasi tatasusunan dan mengumpulkan data lajur Anda juga boleh menggunakan fungsi array_column() untuk mendapatkan data lajur tersebut , dan kemudian gunakan fungsi array_sum( ) untuk menjumlahkan. Kaedah yang paling sesuai harus dipilih berdasarkan situasi tertentu.

Atas ialah kandungan terperinci Bagaimana untuk menjumlahkan lajur tatasusunan 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