我怎样才能找出foreach循环中每个if条件执行循环的次数?

时间:2017-02-27 06:50:55

标签: php arrays

嘿伙计们,我需要你的帮助。

我有这个数组,我需要打印出每个正数,负数,零数,然后我需要打印出每个进程中的数字数,例如正数计数为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>";

谢谢你们

3 个答案:

答案 0 :(得分: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/>";

答案 1 :(得分: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 :(得分: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>";