来自循环的一部分
foreach($dataSet as $cType => $cPercentage){ echo $cType ."=". $cPercentage; }
这个输出数据依赖于数组。我想要的是我想要将此循环运行到特定次数。说8次。
答案 0 :(得分:4)
$nLoop = 0;
foreach($dataSet as $cType => $cPercentage){
if ($nLoop++ == 8)
break;
echo $cType ."=". $cPercentage;
}
答案 1 :(得分:0)
如果你的意思是“对一个数字”,你的意思是“8次”吗?你可以做到
$i=0;
foreach($dataSet as $cType => $cPercentage){
if($i==8){break;}
$i++;
echo $cType ."=". $cPercentage;
}
答案 2 :(得分:0)
这适用于数字&关联数组
$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;
}
答案 3 :(得分:0)
您可以使用for循环为您执行此操作
答案 4 :(得分:0)
尝试一下while循环
$i = 0;
while($ds = each($dataSet) && $i < 8) {
echo $ds['key']. '='.$ds['value'];
$i++;
}
答案 5 :(得分:0)
您还可以使用其他类型的循环,例如while
:
reset($dataSet);
$i = 8;
while((list($cType, $cPercentage) = each($dataSet)) && $i--) {
echo $cType, ."=". $cPercentage;
}
reset($dataSet);
<强>解释强>
each
返回内部数组指针指向的项的键和值作为数组,并使内部指针前进。 list
将键和值数组分配给两个变量并返回数组。 $i--
递减计数器变量
如果数组中没有元素,则循环将停止(因此list
隐式返回的数组将为空并且评估为false
)或$i
为0
}。
答案 6 :(得分:0)
如果要截断数组的大小,可以使用array_slice
所以你的代码看起来像这样:
foreach(array_slice($dataSet, 0, 8) as $cType => $cPercentage){ echo $cType ."=". $cPercentage; }