Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 大于0的数之和_Php - Fatal编程技术网

Php 大于0的数之和

Php 大于0的数之和,php,Php,我在做作业,我也试过写这段代码,但似乎不太好,我的作业是得到大于0的数字之和 <?PHP $b=array (1,2,-3,0,7,25,0,42,1,-10); $s=0; $BUB=0; for($BUB=0;$BUB=10;$BUB++) { if($b>0){ $s=$s+$b;} [$bub=0]; $BUB++; } echo "suma je $s" ; ?> 或 不必担心。如果将值加0,则不会发生任何事情。12

我在做作业,我也试过写这段代码,但似乎不太好,我的作业是得到大于0的数字之和

<?PHP
$b=array (1,2,-3,0,7,25,0,42,1,-10);
$s=0; $BUB=0; 
for($BUB=0;$BUB=10;$BUB++)
{
    if($b>0){
        $s=$s+$b;} [$bub=0];
        $BUB++;

}
echo "suma je $s" ;

?>


不必担心。如果将值加0,则不会发生任何事情。120+0=120 alwaysit有点像计数器,但代码不是working@samitha正确,但数字小于0?120 + 0 + -13 != 120你的代码到处都是。。。试着在纸上运行你的代码,看看它有多混乱。。。然后试着修复它(在这种情况下,我的意思是重写整件事),你为他做作业,而他什么也没学到,这很好。真的,是他自找的?!我们为什么要否认一个问题?!“他要避孕套,尽管他只有12岁”@serjoscha这家伙提到这是家庭作业(所以他显然是个初学者),从他的代码本身来看,很明显他有不少误解。给出一个没有任何解释的工作答案可能会导致他接受它,使用它,而不管他是否理解它。最好的结果是,他的老师会问他是如何工作的,他将无法回答,并将被迫学习如何工作。最糟糕的结果是,他在不知道自己在做什么的情况下,在“合格”的阶梯上越爬越高。如果后者继续发生,你会给他一份工作吗?好吧,我会解释我的答案,就像往常一样。但这段代码利用了绝对的基本语言结构。没什么复杂的。我能解释一下那个代码狙击手吗?“大操作员”?或者“+=”操作符?备注:如果您使用这个(非常好的)解决方案,我想承认,自PHP5.3.0以来,匿名函数是可用的。因此,运行一个较旧的PHP版本将迫使您声明函数并引用它的名称,而不是使用内联代码:)当然@serjoscha,但现在没有人应该运行PHP5.3以下的代码,只有死硬的旧式代码爱好者应该运行5.4以下的代码:)我同意这一点。我只是想提一下:)
$sum = 0;
foreach(array (1,2,-3,0,7,25,0,42,1,-10) as $num) {
  if($num > 0) {
    $sum += $num;
  }
}
$b=array (1,2,-3,0,7,25,0,42,1,-10);

$r = array_sum(
    array_filter(
        $b,
        function ($value) {
            return $value > 0;
        }
    )
);
var_dump($r);
$b=array (1,2,-3,0,7,25,0,42,1,-10);

$r = array_reduce(
    $b,
    function($adder, $value) {
        return $adder += ($value > 0) ? $value : 0;
    }
);
var_dump($r);