在PHP中:我有一个for循环运行数组,如果每个键的值与我正在寻找的值不匹配,我跳过它。
如何创建一个循环,直到找到我正在寻找的20个值。所以我不能认为它是for($i=0;$i<50;$i++)
,因为前50个,可能只有2个匹配的值。所以它需要运行到20场比赛。
更新:我还需要遍历数组,所以我仍然需要检查这样的每个值:$ news_posts [$ i] ['category'];如果类别是我正在寻找的那么那就是1.如果不是,那么我跳过它。我需要20。
答案 0 :(得分:4)
您可以使用多个条件:
for ($i=0, $found=0; $i<count($news_posts) && $found<20; ++$i)
{
if ($news_posts[$i]['category'] == 'something')
{
++$found;
// do the rest of your stuff
}
}
这会循环遍历$news_posts
中的所有内容,但如果找到20,则会提前停止。
for循环有三个部分(initialization; condition; increment)
。您可以在其中任何一个中包含多个语句(或不包含任何语句)。例如,for (;;)
相当于while (true)
。
答案 1 :(得分:0)
$foundValues = 0;
while($foundValues < 20)
{
//Do your magic here
}
答案 2 :(得分:0)
这会奏效。要小心,如果你的计数永远不会高于19,那么循环就会永远运行。
$count = 0;
while ($count < 20)
{
if (whatever)
{
$count++;
}
}
答案 3 :(得分:0)
$count = 0;
while(true){
if($count>20)
break;
...
}
答案 4 :(得分:0)
$count = 0;
$RESULT_COUNT = 20;
while($count < $RESULT_COUNT) {
// your code to determine if result is found
if($resultFound) {
$count++;
}
if($resultsEnd) { // check here to see if you have any more values to search through
break;
}
}
答案 5 :(得分:0)
当某些条件成立时,简单地摆脱循环。
for ($i = 0; $i < $countValue; $i++)
{
//do something
if ($i == 10) break;
}