添加count +到迭代并继续计算foreach循环php

时间:2015-10-26 13:06:30

标签: php

我正在寻找一个解决方案来为我的迭代添加一个+数字并在每个循环结束后保持计算,我现在所做的就是下一个,但这只给我一个数字开始>结束。

我有3行,每行包含数据,其中一行将插入中间,并将添加一个迭代编号+。

$data = array(
    array(
        'id' => 1,
        'data' => 'Good',
    ),
    array(
        'id' => 2,
        'data' => 'Equal',
    ),
    array(
        'id' => 3,
        'data' => 'Equal',
    )
);

$i = 1;
$concat = '';

foreach($data as $item){
    $count = $i++;

    $concat .= 'Nr. '.$count.' - Reg 1' . "\n";
    $concat .= 'Nr. '.$count.' - Reg 1' . "\n";
    $concat .= 'Nr. '.$count.' - Reg 1' . "\n";

    if($item['data'] == 'Good'){
        //count Nr Reg 1 + 1 
        $concat .= 'Nr. '.$count.' - Reg 2' . "\n";
        $concat .= 'Nr. '.$count.' - Reg 2' . "\n";
    }

    //count Nr Reg 1 + Reg 2 if exist + 1 
    $concat .= 'Nr. '.$count.' - Reg 3' . "\n";
    $concat .= 'Nr. '.$count.' - Reg 3' . "\n";
}

echo '<pre>';
echo $concat;

/*
resut:
Nr. 1 - Reg 1
Nr. 1 - Reg 1
Nr. 1 - Reg 1
Nr. 1 - Reg 2
Nr. 1 - Reg 2
Nr. 1 - Reg 3
Nr. 1 - Reg 3

Nr. 2 - Reg 1
Nr. 2 - Reg 1
Nr. 2 - Reg 1
Nr. 2 - Reg 3
Nr. 2 - Reg 3

Nr. 3 - Reg 1
Nr. 3 - Reg 1
Nr. 3 - Reg 1
Nr. 3 - Reg 3
Nr. 3 - Reg 3

the result i need is:

Nr. 1 - Reg 1
Nr. 1 - Reg 1
Nr. 1 - Reg 1
Nr. 2 - Reg 2
Nr. 2 - Reg 2
Nr. 3 - Reg 3
Nr. 3 - Reg 3

Nr. 4 - Reg 1
Nr. 4 - Reg 1
Nr. 4 - Reg 1
Nr. 5 - Reg 3
Nr. 5 - Reg 3

Nr. 6 - Reg 1
Nr. 6 - Reg 1
Nr. 6 - Reg 1
Nr. 7 - Reg 3
Nr. 7 - Reg 3
*/

1 个答案:

答案 0 :(得分:1)

我不明白你想要什么,但是为了得到你评论中的结果,你必须改变你的代码:

$data = array(
    array(
        'id' => 1,
        'data' => 'Good',
    ),
    array(
        'id' => 2,
        'data' => 'Equal',
    ),
    array(
        'id' => 3,
        'data' => 'Equal',
    )
);

$count = 0;
$concat = '';

foreach($data as $item){
    ++$count;
    $concat .= 'Nr. '.$count.' - Reg 1' . "\n";
    $concat .= 'Nr. '.$count.' - Reg 1' . "\n";
    $concat .= 'Nr. '.$count.' - Reg 1' . "\n";

    if($item['data'] == 'Good'){
        ++$count;
        //count Nr Reg 1 + 1 
        $concat .= 'Nr. '.$count.' - Reg 2' . "\n";
        $concat .= 'Nr. '.$count.' - Reg 2' . "\n";
    }

    //count Nr Reg 1 + Reg 2 if exist + 1
    ++$count;
    $concat .= 'Nr. '.$count.' - Reg 3' . "\n";
    $concat .= 'Nr. '.$count.' - Reg 3' . "\n";
}

//结果:

Nr. 1 - Reg 1
Nr. 1 - Reg 1
Nr. 1 - Reg 1
Nr. 2 - Reg 2
Nr. 2 - Reg 2
Nr. 3 - Reg 3
Nr. 3 - Reg 3
Nr. 4 - Reg 1
Nr. 4 - Reg 1
Nr. 4 - Reg 1
Nr. 5 - Reg 3
Nr. 5 - Reg 3
Nr. 6 - Reg 1
Nr. 6 - Reg 1
Nr. 6 - Reg 1
Nr. 7 - Reg 3
Nr. 7 - Reg 3
相关问题