<?php$aa=array(11,22,33,44,55,66,77,88,99);
foreach($aa as $bb)
{
echo $bb;
$bb=next($aa);
echo "<br>";
echo $bb;
echo "<hr>";
}?>
我期待的结果是:
11
22
------
33
44
------
55
66
------
77
88
------
99
但事与愿违,出来的结果是:
11
33
--------------------------------------------------------------------------------
22
44
--------------------------------------------------------------------------------
33
55
--------------------------------------------------------------------------------
44
66
--------------------------------------------------------------------------------
55
77
--------------------------------------------------------------------------------
66
88
--------------------------------------------------------------------------------
77
99
--------------------------------------------------------------------------------
88--------------------------------------------------------------------------------
99
php

解决方案 »

  1.   

    如果用while和each就很方便,能达到我期待的结果:
    <?php$aa=array(11,22,33,44,55,66,77,88,99);
    while(list(,$bb)=each($aa))
    {
    echo $bb;
    list(,$bb)=each($aa);
    echo "<br>";
    echo $bb;
    echo "<hr>";
    }?>但我一定要用foreach
      

  2.   

    $aa=array(11,22,33,44,55,66,77,88,99);
    foreach(array_chunk($aa,2) as $v){
          echo join('<br>',$v);
      echo '<hr>';
    }
      

  3.   

    foreach($aa as $k=>$bb)
    {
    echo $bb;
    echo "<br>";
    if ($k & 1) echo "<hr>";
    }
      

  4.   


    兄弟,你这种方法不错!!
    能不能通过移动数组指针的方法实现??就跟1楼那种方法差不多,但必须要用foreach
      

  5.   

    仅仅是为了满足你的需要,真正使用还是用楼上2个兄弟的方案<?php$aa=array(11,22,33,44,55,66,77,88,99);
    foreach($aa as $bb)
    {
    if(!$_bb) reset($aa);
    if($bb == $_bb) {
    next($aa);
    continue;
    };
    echo $bb;
    $_bb = next($aa);
    echo "<br>";
    echo $_bb;
    echo "<hr>";
    }
      

  6.   

    理解好指针就好了,楼主之前未能完成这个需求的原因我认为是欠缺对数据指针的进一步测试调试,谬然写块代码.如果我会写一个简单的for循环先观测指针偏移情况再确定解决方案.像上面的reset就是一个办法.
      

  7.   

    要你这个格式
    直接用$aa=array(11,22,33,44,55,66,77,88,99);
    foreach($aa as $key=> $bb)
    {
        echo $bb;
        echo "<br>"; 
        if(($key+1) % 2 == 0) {
            echo "<hr>";
            echo "<br>"; 
        };  
    }
    这样不一样得到同样的效果么?
      

  8.   

    foreach内部用nex,pre,reset之类的移动数组指针,一般人理解不了,感觉不知道移到哪里去了。。
    分享一篇文章:http://www.csdn123.com/html/2013/fuwuqiduanjiaoben_0625/422016.html
    主要就是讲foreach的。
      

  9.   

    要你这个格式
    直接用$aa=array(11,22,33,44,55,66,77,88,99);
    foreach($aa as $key=> $bb)
    {
        echo $bb;
        echo "<br>"; 
        if(($key+1) % 2 == 0) {
            echo "<hr>";
            echo "<br>"; 
        };  
    }
    这样不一样得到同样的效果么?
    你这个$key有的时候并不一定是数字,array('asdfadf'=>'fasdf','fadf'=>'fasdfadf')
      

  10.   

    要你这个格式
    直接用$aa=array(11,22,33,44,55,66,77,88,99);
    foreach($aa as $key=> $bb)
    {
        echo $bb;
        echo "<br>"; 
        if(($key+1) % 2 == 0) {
            echo "<hr>";
            echo "<br>"; 
        };  
    }
    这样不一样得到同样的效果么?
    你这个$key有的时候并不一定是数字,array('asdfadf'=>'fasdf','fadf'=>'fasdfadf')
    不是数字可以加一个中间数字的啊,总比那些简单吧
      

  11.   

    要你这个格式
    直接用$aa=array(11,22,33,44,55,66,77,88,99);
    foreach($aa as $key=> $bb)
    {
        echo $bb;
        echo "<br>"; 
        if(($key+1) % 2 == 0) {
            echo "<hr>";
            echo "<br>"; 
        };  
    }
    这样不一样得到同样的效果么?
    你这个$key有的时候并不一定是数字,array('asdfadf'=>'fasdf','fadf'=>'fasdfadf')不是数字可以自己弄个计数器,加一行 $i++; 总行吧