我正在尝试使用一个PHP for循环来回显数字1-10的总和以及仅回显偶数的总和。我似乎有一个问题,因为这些迭代不会“平行”
代码:
<?php
$sum = 0; $evensum = 0;
for($x = 1, $y=2; $x<=10, $y<=6; $x++, $y += 2) {
$sum = $sum + $x; $evensum = $evensum + $y;
}
echo "total sum= ". $sum, ", even sum=" . $evensum;
?>
总和应该反映 55 (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10)和偶数总和< / strong>应该反映 30 (2 + 4 + 6 + 8 + 10)
答案 0 :(得分:4)
只需使用
<?php
$sum = 0; $evensum = 0;
for($x = 1; $x<=10; $x++) {
// sum all the number
$sum = $sum + $x;
// check the number is even
if( $x % 2 === 0 ) {
// sum only the even numbers
$evensum = $evensum + $x;
}
}
// output
echo "total sum= ". $sum, ", even sum=" . $evensum;
?>
答案 1 :(得分:1)
另一种方法是使用range()和array_functions
$arr=range(1,10);
echo $sum=array_sum($arr);
function even($var)
{
return(!($var & 1));
}
echo $even=array_sum(array_filter($arr, "even"));
答案 2 :(得分:0)
汇总所有范围
$all_sum=array_sum(range(1,10));
求偶数(0,2,4,6,8,10)
$even_sum = array_sum(range(0,10,2));