Ví dụ
<?php
function sum_of_cubes_even($val) {
$init_sum = 0;
for ($i = 1; $i <= $val; $i++)
if ($i % 2 == 0)
$init_sum += $i * $i * $i;
return $init_sum;
}
print_r("The sum of cubes of first 8 even natural numbers is ");
echo sum_of_cubes_even(8);
?>
Kết quả
The sum of cubes of first 8 even natural numbers is 800
Giải thích
Hàm sum_of_cubes_even tính tổng lập phương của các số chẵn ≤ $val. Vòng lặp for từ 1 đến $val, nếu chẵn (i%2==0) thì cộng i³. Với val=8: 2³+4³+6³+8³ = 8+64+216+512 = 800.
Sửa lỗi nghiêm trọng: Code gốc có logic sai: if ($i % 2 != 0) $init_sum += (2 * $i) * (2 * $i) * (2 * $i) - này tính lập phương của số LẺ nhân 2 (tức số chẵn) nhưng chỉ lấy số lẻ index, kết quả 3968 sai. Đã sửa logic đúng: duyệt i, nếu chẵn thì cộng i³. Tên hàm đổi cho phù hợp: "even natural numbers" không phải "even" trong tên hàm gốc gây nhầm lẫn.