将Foreach转换为for循环

时间:2011-03-03 05:57:59

标签: php

我有一个第三方脚本循环遍历每个返回的值并回显它。

我想将数量限制为3个循环但是有问题。

当前循环:

  foreach($json->data as $v)
  {
  echo  $v->from->name."<br>";
  }

我想做类似的事情:

for ($i=0;$i<3;$i++)
                {
  echo  $v->from->name."<br>";
 }

是否有任何工作,无需重写整个脚本。

3 个答案:

答案 0 :(得分:1)

无需将其转换为for循环就可以添加一个额外的计数器。

$count=0;
foreach($json->data as $v)
{
   if ($count == 3)
   { 
    break;
   }

   echo  $v->from->name."<br>";
   $count++;
}

答案 1 :(得分:1)

Slice数组中的前3个元素并循环遍历这些元素。

答案 2 :(得分:1)

如果$ json是整数索引数组(虽然我对此表示怀疑)

for ($i=0;$i<3;$i++)
{
    echo  $json->data->from->name."<br>";
}

否则不太优雅的解决方案

$i = 0;

foreach($json->data as $v)
{
    echo  $v->from->name."<br>";
    if(++$i == 3) {break;}
}

终于

foreach(slice($json->data, 0, 3, TRUE) as $v)
{
    echo  $v->from->name."<br>";
}