Laravel ialah rangka kerja pembangunan PHP yang popular yang menyediakan banyak fungsi dan sintaks yang mudah untuk meningkatkan kecekapan pembangunan. Antaranya, fungsi jumlah adalah fungsi yang sangat biasa digunakan dalam Laravel, yang boleh menjumlahkan nilai dalam satu set. Tetapi dalam pembangunan sebenar, kita kadang-kadang perlu melakukan penjumlahan di bawah keadaan yang berbeza Bagaimana kita harus menangani perkara ini? Artikel ini akan memperkenalkan cara Laravel melaksanakan operasi jumlah dalam keadaan yang berbeza.
1. Operasi jumlah dalam kes mudah
Dalam Laravel, kita boleh melakukan operasi jumlah dengan mudah pada koleksi, cuma panggil fungsi jumlah. Contohnya, untuk menjumlahkan tatasusunan:
$sum = collect([1, 2, 3, 4, 5])->sum();
Dalam contoh ini, nilai $sum ialah 15, iaitu hasil tambah 1+2+3+4+5.
Begitu juga, jika kita mempunyai tatasusunan objek dan ingin menjumlahkan atribut tertentu di dalamnya, kita boleh melakukan ini:
$sum = collect([ ['name' => 'Alice', 'score' => 80], ['name' => 'Bob', 'score' => 90], ['name' => 'Charlie', 'score' => 70] ])->sum('score');
Dalam contoh ini, nilai $sum ialah 240, Itu ialah hasil tambah 80+90+70.
2. Operasi jumlah bersyarat
Dalam pembangunan sebenar, kita selalunya perlu melakukan operasi jumlah dalam keadaan yang berbeza, kita perlu menggunakan fungsi where dalam Laravel. Fungsi where boleh menapis nilai dalam koleksi berdasarkan syarat yang ditentukan. Sebagai contoh, kami mempunyai susunan pengguna Setiap pengguna mempunyai dua atribut: nama dan umur Jika kami ingin mengira jumlah umur semua pengguna yang berumur lebih daripada 18 tahun, kami boleh melakukan ini:
$users = collect([ ['name' => 'Alice', 'age' => 20], ['name' => 'Bob', 'age' => 16], ['name' => 'Charlie', 'age' => 25] ]); $sum = $user->where('age', '>', 18)->sum('age');
$orders = collect([ ['id' => 1, 'status' => 'created', 'amount' => 10], ['id' => 2, 'status' => 'completed', 'amount' => 20], ['id' => 3, 'status' => 'cancelled', 'amount' => 30], ['id' => 4, 'status' => 'completed', 'amount' => 40] ]); $sum = $orders->where('status', 'completed')->sum('amount');
$users = collect([ ['name' => 'Alice', 'age' => 20, 'area' => 'Beijing'], ['name' => 'Bob', 'age' => 16, 'area' => 'Shanghai'], ['name' => 'Charlie', 'age' => 25, 'area' => 'Beijing'] ]); $sum = $user->where('age', '>', 18)->where('area', 'Beijing')->sum('age');
$orders = collect([ ['id' => 1, 'status' => 'created', 'amount' => 10, 'date' => '2019-01-01'], ['id' => 2, 'status' => 'completed', 'amount' => 20, 'date' => '2019-01-05'], ['id' => 3, 'status' => 'cancelled', 'amount' => 30, 'date' => '2018-12-31'], ['id' => 4, 'status' => 'completed', 'amount' => 40, 'date' => '2019-02-01'] ]); $sum = $orders->where('status', 'completed')->where('date', '>', '2019-01-01')->sum('amount');
Atas ialah kandungan terperinci laravel sum keadaan berbeza. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!