[英]how do I restrict this loop to a particular number?
下面是循环的一部分
foreach($dataSet as $cType => $cPercentage){ echo $cType ."=". $cPercentage; }
这个输出数据依赖于数组。 我想要的是我想要将此循环运行到特定次数。 说8次。
$nLoop = 0;
foreach($dataSet as $cType => $cPercentage){
if ($nLoop++ == 8)
break;
echo $cType ."=". $cPercentage;
}
如果你的意思是“对一个数字”,你的意思是“8次”吗? 你可以做到的
$i=0;
foreach($dataSet as $cType => $cPercentage){
if($i==8){break;}
$i++;
echo $cType ."=". $cPercentage;
}
这适用于数字和关联数组
$count = 0;
foreach($dataSet as $cType => $cPercentage) {
echo $cType ."=". $cPercentage;
if (++$count > 8) break;
}
可能,但不是真正的优势
$cappedArray = array_slice($dataSet, 0, 8, true);
foreach($cappedArray as $cType => $cPercentage) {
echo $cType ."=". $cPercentage;
}
您可以使用for循环为您执行此操作
尝试一下while循环
$i = 0;
while($ds = each($dataSet) && $i < 8) {
echo $ds['key']. '='.$ds['value'];
$i++;
}
您也可以使用其他类型的循环,例如, while
:
reset($dataSet);
$i = 8;
while((list($cType, $cPercentage) = each($dataSet)) && $i--) {
echo $cType, ."=". $cPercentage;
}
reset($dataSet);
说明:
each
返回内部数组指针指向的项的键和值作为数组并前进内部指针。 list
将键和值数组分配给两个变量并返回数组。 $i--
递减计数器变量。
如果数组中没有元素,则循环将停止(因此list
隐式返回的数组将为空并且计算为false
)或者$i
为0
。
如果要截断数组的大小,可以使用array_slice
所以你的代码看起来像这样:
foreach(array_slice($dataSet, 0, 8) as $cType => $cPercentage){ echo $cType ."=". $cPercentage; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.