如何找出循环在foreach循环中每条条件执行多少次?
问题描述:
嘿,我需要你的帮助,这个练习。如何找出循环在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>";
谢谢你们
答
创建一个计数器。
<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>";
答
您必须声明计数器变量并在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
答
如果你只是想在阵列中的负,正和零Ø打印总数,你可以做到这一点,如下:
<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>";
没有这样做自动的方式,你将不得不添加计数器变量,并在if条件下增加计数器变量。 –