分组项目并使用循环计数

时间:2019-02-25 12:33:52

标签: php symfony

我做的时候有数据

  

var_dump($ data);

这是我的数据的显示方式($ data不是桌子上的桌子):

+-------+----------+-----------+---------------+
| adan  | Afla     | avo       | 0             |
+-------+----------+-----------+---------------+
| adan  | ken      | joly      | 0             |
+-------+----------+-----------+---------------+
| busia | koko     | ho        | 0             |
+-------+----------+-----------+---------------+
| busia | koko     | ho        | 0             |
+-------+----------+-----------+---------------+
| busia | koko     | ho        | 0             |
+-------+----------+-----------+---------------+

但是,我希望表格显示变为:

+-------+----------+-----------+---------------+
| adan  | Afla     | avo       | 1             |
+-------+----------+-----------+---------------+
| adan  | ken      | joly      | 1             |
+-------+----------+-----------+---------------+
| busia | koko     | ho        | 3             |
+-------+----------+-----------+---------------+

这是我的代码:

foreach($data as $liste){
    $town[]=$liste->getLocalite()->getName();
    $counties[]=$liste->getCountie()->getName();
    $districts[]=$liste->getDistrict()->getName();;
}

$a= count($listforages)-1;
$numberDoc=0;
$tab1=$tab2=$tab3=$tab4=array();


    for ($i=0; $i<count($data);$i++){

$tab[$i]= $town[$i].'--'.$counties [$i].'--'.$districts[$i].'--'.$numberDoc[$i];

if( $i == $a  ) {

     if ($counties [$a-1]==$counties [$a] && $districts[$a-1]==$districts[$a]  && $numberDoc[$a-1]==$numberDoc[$a] ){
        $numberDoc[$a]++; //  counter
        $tab1[$a-1]=$town[$a-1].'--'.$counties [$a-1].'--'.$districts[$a-1].'--'. $numberDoc[$a-1];
     }

     if ($counties [$a-1] !=$counties [$a] && $districts[$a-1] !=$districts[$a]  && $numberDoc[$a-1] !=$numberDoc[$a] ){
    $numberDoc[$a]++; //  counter
      $tab2[$a-1]=$town[$a-1].'--'.$counties [$a-1].'--'.$districts[$a-1].'--'. $numberDoc[$a-1];
     }
}   
 else{
    if ($counties [$i]==$counties [$i+1] && $districts[$i]==$districts[$i+1]  && $numberDoc[$i]==$numberDoc[$i+1] ){
      $numberDoc[$i]++; //  counter
      $tab3[$i]=$town[$i].'--'.$counties [$i].'--'.$districts[$i].'--'. $numberDoc[$i];
     }

    if ($counties [$i] !=$counties [$i+1] && $districts[$i] !=$districts[$i+1]  && $numberDoc[$i] !=$numberDoc[$i+1] ){
        $numberDoc[$i]++; //  counter
      $tab4[$i]=$town[$i].'--'.$counties [$i].'--'.$districts[$i].'--'. $numberDoc[$i];
     }
}



}

当我看到我的数据时(见表):

城镇是第0列, 县是第1列 区是第2列 numberDoc是第3列,

我的代码不起作用,如何解决此问题?

注意:请问我的英语,

先谢谢您

0 个答案:

没有答案