[英]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.