Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menjumlahkan lajur tatasusunan dalam php
Dalam PHP, menjumlahkan lajur tatasusunan ialah keperluan biasa. Jika tatasusunan ialah tatasusunan satu dimensi, gunakan fungsi array_sum(). Contohnya:
$array = array(1, 2, 3, 4, 5); $sum = array_sum($array); // $sum = 15
Tetapi jika tatasusunan ialah tatasusunan dua dimensi, anda perlu mengekstrak semua nilai lajur dahulu dan kemudian menjumlahkannya. Anda boleh menggunakan fungsi array_column() untuk mengekstrak nilai lajur, dan kemudian gunakan fungsi array_sum() untuk menjumlahkan nilai. Contohnya:
$records = array( array('name' => 'John', 'score' => 85), array('name' => 'Mary', 'score' => 92), array('name' => 'Peter', 'score' => 78), array('name' => 'Lisa', 'score' => 89) ); $scores = array_column($records, 'score'); $sum = array_sum($scores); // $sum = 344
Dalam contoh di atas, $records ialah tatasusunan dua dimensi yang mengandungi nama dan markah setiap orang. Gunakan fungsi array_column() untuk mengekstrak semua markah, dan kemudian gunakan fungsi array_sum() untuk menjumlahkannya, menghasilkan jumlah markah 344.
Perlu diambil perhatian bahawa jika nilai lajur mengandungi jenis bukan angka (seperti rentetan), ia perlu ditukar kepada nombor melalui penukaran jenis terlebih dahulu. Jika tidak, hasil jumlah mungkin tidak tepat. Contohnya:
$records = array( array('name' => 'John', 'score' => '85'), array('name' => 'Mary', 'score' => '92'), array('name' => 'Peter', 'score' => '78'), array('name' => 'Lisa', 'score' => '89') ); $scores = array_column($records, 'score'); $sum = array_sum($scores); // $sum = 0
Dalam contoh di atas, markah dalam $records ialah semua jenis rentetan. Jika anda menjumlahkannya secara langsung, anda akan mendapat keputusan 0 yang tidak tepat. Ia boleh ditukar kepada jenis angka dengan menyatakan argumen ketiga dalam array_column() fungsi. Contohnya:
$records = array( array('name' => 'John', 'score' => '85'), array('name' => 'Mary', 'score' => '92'), array('name' => 'Peter', 'score' => '78'), array('name' => 'Lisa', 'score' => '89') ); $scores = array_column($records, 'score', 'name'); $scores = array_map('intval', $scores); $sum = array_sum($scores); // $sum = 344
Dalam contoh di atas, fungsi array_column() digunakan untuk mengekstrak markah setiap orang dan menyimpannya dalam tatasusunan baharu dengan nama sebagai kunci dan skor sebagai nilai . Kemudian gunakan fungsi array_map() untuk menaip-menukar nilai ini, dan akhirnya gunakan fungsi array_sum() untuk menjumlahkannya, dan dapatkan hasil yang betul 344.
Ringkasnya, menjumlahkan lajur tatasusunan tidak sukar dalam PHP Anda hanya perlu memberi perhatian kepada jenis data.
Atas ialah kandungan terperinci Bagaimana untuk menjumlahkan lajur tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!