2017-02-27 167 views
0

嘿,我需要你的幫助,這個練習。如何找出循環在foreach循環中每條條件執行多少次?

我有這樣的陣列,我需要打印出各正,負,零數,然後後,我需要打印出號碼的數量在例如每個進程的正數計數是2

你能幫我做這個嗎?

全碼:

<style> 
 
    body { 
 
     background: #333; 
 
    } 
 
</style> 
 

 
<?php 
 

 
$numbers = [10, 20, -20, -30, 0, 0, 0]; 
 
echo "<ul>"; 
 

 
foreach ($numbers as $number) { 
 
    if ($number > 0) { 
 
     echo "<li style='color: #080;'>Positive Number : {$number}</li><br />"; 
 
    } elseif ($number == 0) { 
 
     echo "<li style='color: #FF0;'>Zero Number : {$number}</li><br />"; 
 
    } elseif ($number) { 
 
     echo "<li style='color: #F00;'>Negative Number : {$number}</li><br />"; 
 
    } 
 
} 
 
echo "</ul>";

謝謝你們

+1

沒有這樣做自動的方式,你將不得不添加計數器變量,並在if條件下增加計數器變量。 –

回答

1

創建一個計數器。

<style> 
    body { 
     background: #333; 
    } 
</style> 

<?php 

$numbers = [10, 20, -20, -30, 0, 0, 0]; 
$counts = [0,0,0]; //positive,negative,zero 
echo "<ul>"; 

foreach ($numbers as $number) { 
    if ($number > 0) { 
$counts[0]++; 
     echo "<li style='color: #080;'>Positive Number : {$number}</li><br />"; 
    } elseif ($number == 0) { 
$counts[2]++; 
     echo "<li style='color: #FF0;'>Zero Number : {$number}</li><br />"; 
    } else { 
$counts[1]++; 
     echo "<li style='color: #F00;'>Negative Number : {$number}</li><br />"; 
    } 
} 
// access here 
echo "</ul>"; 
2

您必須聲明計數器變量並在if條件中增加它們。

<style> 
    body { 
     background: #333; 
    } 
</style> 

<?php 

$numbers = [10, 20, -20, -30, 0, 0, 0]; 
echo "<ul>"; 

$positiveNumbers = 0; 
$negativeNumbers = 0; 
$zeros = 0; 

foreach ($numbers as $number) { 
    if ($number > 0) { 
     $positiveNumbers++; 
     echo "<li style='color: #080;'>Positive Number : {$number}</li><br />"; 
    } elseif ($number == 0) { 
     $zeros++; 
     echo "<li style='color: #FF0;'>Zero Number : {$number}</li><br />"; 
    } else { 
     $negativeNumbers++; 
     echo "<li style='color: #F00;'>Negative Number : {$number}</li><br />"; 
    } 
} 
echo "</ul>"; 
echo "Total Positive Numbers: $positiveNumbers<br/>"; 
echo "Total Negative Numbers: $negativeNumbers<br/>"; 
echo "Total Zeroes: $zeros<br/>"; 
+0

這非常明確,爲我工作,謝謝你! –

+0

如果它符合您的目的,請將其標記爲答案。謝謝。 – zahirdhada

0

如果你只是想在陣列中的負,正和零Ø打印總數,你可以做到這一點,如下:

<style> 
    body { 
     background: #333; 
    } 
</style> 

<?php 

$numbers = [10, 20, -20, -30, 0, 0, 0]; 
$totalPositive = 0; $totalNegative = 0; $totalZero = 0; 

echo "<ul>"; 

//Firstly count the number of positive, negative and zero 
foreach ($numbers as $number) { 
    if ($number > 0) { 
     $totalPositive++; 
    } elseif ($number == 0) { 
     $totalZero++; 
    } else { 
     $totalNegative++; 
    } 
} 
//print them all 
echo "<li style='color: #080;'>Positive Number : {$totalPositive}</li><br />"; 
echo "<li style='color: #FF0;'>Zero Number : {$totalZero}</li><br />"; 
echo "<li style='color: #F00;'>Negative Number : {$totalNegative}</li><br />"; 
echo "</ul>";