2013-10-08 65 views
-2

美好的一天,我的任務是在php中創建一個變量計數器。我被困在最後一個階段。這就是顯示正值的總數。我在php中使用了count(),但它並沒有給我總數。有沒有一種方法,我可以得到的總和是count()的值?php中的變量計數器

if ($start < $end) 
    { 
    for($ctr = $start; $ctr<=$end; $ctr++) 
    { 

    if ($ctr == 0) 
    { 
     echo " <br/ >there is a zero <br/ >"; 
    } 

    else if ($ctr <=0) 
    { 
    echo count($ctr) . " negative value" ; 
    } 
    else if($ctr >=0) 
    { 
    echo count($ctr) . " positive value "; 
    } 

    } 
+0

你知道什麼是'計數()'*不*? http://php.net/count – deceze

+0

計數用於數組。 – Sal00m

+0

'else if($ ctr <= 0)'可能是'else if($ ctr <0)'這裏。相同的「大於」。 – Brewal

回答

1
$zero = $pos = $neg = 0; 
for($ctr = $start; $ctr<=$end; $ctr++) 
{ 
    switch(true){ 
    case $ctr==0: $zero++; break; 
    case $ctr<0: $neg++; break; 
    case $ctr>0: $pos++; break; 
    } 
} 
if($zero) 
    echo "there is a zero<br/>"; 
if($pos) 
    echo "$pos positive values<br/>" ; 
if($neg) 
    echo "$neg negative values<br/>" ; 

更好的方法是沒有任何循環:

function test($start, $end) { 
    echo "Test of [$start, $end]:\n"; 
    if ($isThereZero = $start * $end <= 0) { 
     echo "There is zero\n"; 
    } 

    if ($start < 0) { 
     $negatives = $isThereZero ? -$start : -$start+$end; 
     echo "$negatives negative values\n"; 
    } 
    if ($end > 0) { 
     $positives = $isThereZero ? $end : $end - $start; 
     echo ($positives)." positive values\n"; 
    } 
} 
test(-12, 5); 
test(-12, -5); 
test(5, 12); 
test(0, 0); 
+0

謝謝!這幫了很多!:) – user2841984

0

試一下:

$zer = 0; 
$pos = 0; 
$neg = 0; 
if ($start < $end) 
{ 
    for($ctr = $start; $ctr<=$end; $ctr++) 
    { 
    if ($ctr == 0) 
    { 
     $zer++; 
    } 

    else if ($ctr < 0) 
    { 
     $neg++; 
    } 
    else if($ctr > 0) 
    { 
     $pos++; 
    } 
} 

echo $zer . " zero value" ; 
echo $neg . " negative value" ; 
echo $pos . " positive value "; 
+2

「零」的計數器似乎有點無用 – Brewal

+0

謝謝!一定會給這個鏡頭。 – user2841984

+0

@Brewal我認爲保持相同的結構比問題... – Pouki

-1
else if($ctr >=0) 
{ 
    $cnt++; //or $cnt+=1; 
} 

然後使用$ CNT ++爲沒有計數的正瓦萊斯

0

只是爲了好玩,這可以在沒有循環的情況下完成。這是一個有點棘手,也是一個位從最初的問題遠:

Demo

$start = -3; 
$end = 5; 

echo ($start <= 0 && $end >= 0 ? "1" : "0")." zero value\n"; 
echo ($start < 0 && $start <= $end ? (-$start-($end > -1 ? 0 : -$end-1)) : "0"). " negative value\n"; 
echo ($end > 0 && $start <= $end ? ($end-($start < 1 ? 0 : $start-1)) : "0"). " positive value\n"; 
+0

很酷!這次真是萬分感謝!:) – user2841984