php怎么每循环一次输出两条数据呢?

$arr = array(1,2,3,4,5,6,7,8,9,0);
我想输出的效果如下:
<div class="a"><span>1</span><span>2</span></div>
<div class="a"><span>3</span><span>4</span></div>
<div class="a"><span>5</span><span>6</span></div>
<div class="a"><span>7</span><span>8</span></div>
<div class="a"><span>9</span><span>0</span></div>
在线等挺急的!

你这样的数组结构肯定是不行的,每次都只会遍历一个元素,除非你是个二维数组,二维数组里面是两个元素,这样才可以,比如说

$arr = [[1,2],[3,4]];
foreach ($arr as $key => $value) {
  echo $arr[$key][0];
  echo $arr[$key][1];
}

追问

可是我拿到的数据就是一个一位数组呢

追答

一维数组肯定是不行啦,数组遍历的原理就是同等层级下一个一个的遍历,但你上面的需求并不是不可实现,你可以在循环里面做下判断,让里面的元素每隔两个就拼接一个div标签,单个就拼接span标签,可以像我下面这么写

 $arr = array(1,2,3,4,5,6,7,8,9,0);
    $html = '';
    $div = '';
    $span = '';
    foreach ($arr as $key=>$value) {
        $span .= '<span>' . $value . '</span>';
        if ($key%2!=0) {
            $div = '<div>' . $span . '</div>';
            $html .= $div;
            $div = '';
            $span = '';
        }
    }
    echo $html;

追问

如果我这个是对象不是数组怎么实现呢?$arr={a=>1,b=>2,c=>3,d=>4,e=>5,f=>6,g=>7,h=>8,j=>9,k=>0,}

我这个是对象 用你上面的方法好像不行呢?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-03
前一列输出奇数,后一列输出偶数,这样能行吗追问

能写一下吗

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网