Php 将Foreach数组拆分为奇数和偶数

Php 将Foreach数组拆分为奇数和偶数,php,html,foreach,Php,Html,Foreach,这是数组 $array = [ a=>["name"= "name1", "id"="1"..], b=>["name"= "name2", "id"="2"..], c=>["name"= "name3", "id"="3"..], d=>["name"= "name4", "id"="4"..], e=>["name"= "name5", "id"="5"..], f=>["name"= "name6", "id"="6"..],......

这是数组

    $array = [
a=>["name"= "name1", "id"="1"..], 
b=>["name"= "name2", "id"="2"..], 
c=>["name"= "name3", "id"="3"..],
d=>["name"= "name4", "id"="4"..],
e=>["name"= "name5", "id"="5"..], 
f=>["name"= "name6", "id"="6"..],......);
我想要达到的是 foreach循环以回送类似这样的项目

我就是这么做的,但运气不好

$len = count($moduleTypes); 
$firsthalf = array_slice($moduleTypes, 0, $len / 2);
$secondhalf = array_slice($moduleTypes, $len / 2);
断开阵列并分别回显每个阵列,
Foreach循环必须继续,但在第二次迭代中,它需要循环两次[B,C],下一次迭代一次[D],依此类推。。检查图像的透视图

这不是精确的解决方案,但它将提供您可以在html代码中实现的精确逻辑

<?php

$array = array(1,2,3,4,5,6,7);

$counter = 1;
$temp = "";
foreach($array as $val){

    if($temp == 1){
        echo "E$val<br>";
        $temp=0;
        $counter++;
    }else{
        if($counter % 2 == 0){
            echo "E$val<br>";

            $temp = 1;
        }else{
            echo "O$val<br>";
        }
    }

    $counter++;

}
其中
O
A、D、G
E
B,C,E,F

更新

foreach($array as $key => $val){

    if($temp == 1){
        echo "E".$val['name']."<br>";
        $temp=0;
        $counter++;
    }else{
        if($counter % 2 == 0){
            echo "E".$val['name']."<br>";

            $temp = 1;
        }else{
            echo "O".$val['name']."<br>";
        }
    }
    $counter++;
}
foreach($key=>$val的数组){
如果($temp==1){
回声“E”。$val['name']。“
”; $temp=0; $counter++; }否则{ 如果($counter%2==0){ 回声“E”。$val['name']。“
”; $temp=1; }否则{ 回声“O”。$val['name']。“
”; } } $counter++; }
这不是确切的解决方案,但它将提供您可以在html代码中实现的确切逻辑

<?php

$array = array(1,2,3,4,5,6,7);

$counter = 1;
$temp = "";
foreach($array as $val){

    if($temp == 1){
        echo "E$val<br>";
        $temp=0;
        $counter++;
    }else{
        if($counter % 2 == 0){
            echo "E$val<br>";

            $temp = 1;
        }else{
            echo "O$val<br>";
        }
    }

    $counter++;

}
其中
O
A、D、G
E
B,C,E,F

更新

foreach($array as $key => $val){

    if($temp == 1){
        echo "E".$val['name']."<br>";
        $temp=0;
        $counter++;
    }else{
        if($counter % 2 == 0){
            echo "E".$val['name']."<br>";

            $temp = 1;
        }else{
            echo "O".$val['name']."<br>";
        }
    }
    $counter++;
}
foreach($key=>$val的数组){
如果($temp==1){
回声“E”。$val['name']。“
”; $temp=0; $counter++; }否则{ 如果($counter%2==0){ 回声“E”。$val['name']。“
”; $temp=1; }否则{ 回声“O”。$val['name']。“
”; } } $counter++; }
我想这就是你需要做的

for ($i = 1; $i <= count($array); $i = $i + 3) {

echo '<br>';
echo '-' . $array[$i-1] . '-';
if (!isset($array[$i])) break;
echo '<br>';
echo $array[$i] . ' ';
if (!isset($array[$i+1])) break;
echo $array[$i+1];

}

对于($i=1;$i我想这就是你需要的

for ($i = 1; $i <= count($array); $i = $i + 3) {

echo '<br>';
echo '-' . $array[$i-1] . '-';
if (!isset($array[$i])) break;
echo '<br>';
echo $array[$i] . ' ';
if (!isset($array[$i+1])) break;
echo $array[$i+1];

}

对于($i=1;$i
而言,棘手的部分是HTML表格。祝贺我成功


棘手的部分是HTML表格。恭喜我成功


你说你想回显这样的项目,它是什么类型的数据,你是如何显示的?你的数组定义没有给出任何线索,你的尝试也无助于理解你问题的上下文。是的,我已经更新了数组example@AdhikJoshi您应用了什么HTML来显示这样的数据(您在图片中发布的内容)。将该HTML添加到你说你想回显这样的项目,它是什么类型的数据,如何显示?你的数组定义没有给出任何线索,你的尝试也无助于理解问题的上下文。是的,我更新了数组example@AdhikJoshi您应用了什么HTML来显示这样的数据(你在图片中发布的内容)。将HTML添加到你可以使用相同的逻辑你可以使用相同的逻辑