这是我的foreach代码
if ($i++ == 10) break;
没有这个限制循环的更好方法吗?
{{1}}
答案 0 :(得分:6)
您可以限制循环迭代的实际数组:
<?php
foreach (array_slice($response3["keywords"], 0, 10) as $genreObject) {
$keywords_name = $genreObject["name"];
$stmt->execute();
}
或者,如果数组是直接数字索引的数组,则可以使用效率更高的for
循环:
<?php
for ($i=0; $i<=10; $i++) {
$keywords_name = $response3["keywords"][$i]["name"];
$stmt->execute();
}
答案 1 :(得分:1)
就个人而言,当代码的文档编写得很好时,我发现丢失可读性并不是什么大问题。你可以做到这一点。
<?php
$i=0;
while($i<10 && $keyword = $response3["keywords"][$i++]; ) {
$keywords_name = $keyword["name"];
$stmt->execute();
}
它看起来并不像array_slice()
w / foreach循环一样整洁,但这会导致制作一个新的阵列并不重要,除非它特别长并且沉重的剧本