группировка элементов и подсчет в данных с использованием цикла - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть данные, когда я делаю

var_dump ($ data);

вот как отображаются мои данные ($ data - это не таблица balise):

+-------+----------+-----------+---------------+
| 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,

мой код не работает. Как решить эту проблему?

NB: извините за мой английский,

заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...