У меня есть 2 таблицы, «header» и «mach»:
заголовок:
STATO |ID |CAMPIONATO Italy |5 |Serie A Spain |1 |Primera Division France|2 |Coppe de France
маш:
STATO |home |away |scoreH|scoreA| Italy |juve |Milan |0 |0 | Italy |Lazio |Roma |0 |1 | Spain |Deportivo|Bilbao |1 |0 | Spain |A Madrid |Sevilla |1 |2 | France|Lille |Perigord |0 |0 |
Для извлечения данных я использую следующий код PHP. Должен ли я создать массив, содержащий заголовок и совпадение группы
$num=0; $mach=-1; foreach($first as $row2){ // cycling once foreach($header as $row){ // cycles x times .... //Here recover the header data $stato; $id; $campionato for($i=0;$i<$count;++$i){ // in $count know how many times I have to do the cycle for each header (stato) $mach=$mach+1; .... // Here recover the mach data $home; $away; $scoreH; $scoreA; $info[$mach]= array('home'=>$home,'away'=>$away,'scoreH'=>$scoreH,'scoreA'=>$scoreA); $groups[$num]=array($info[$mach]); }//end for cycles $headerArray[$num]=array('header'=>['stato'=>$stato,'id'=>$id,'campionato'=>$campionato],'mach'=>$groups[$um]); $num++; } //end header cycles $blockArray[]=array('incontri'=>$headerArray); } //end first cycle print_r($blockArray);
Проблема заключается в $ группах, которые возвращают все совпадения даты. (Италия, Испания, Франция) нет только групп заголовков. Если вы используете эту строку кода PHP:
array_push ($groups,$info[$mach]);
вместо:
$Groups[$num] = array($info[$mach]);
вместо этого возвращает только последнее совпадение (цикл для) для каждого заголовка.
Я хотел бы создать этот массив
['incontri'=> [ header=> ['stato'=>Italy,'id'=>5,'campionato'=>Serie A], mach=> ['home'=>Juve,'away'=>Milan,'scoreH'=>0,'scoreA'=>0], ['home'=>Lazio,'away'=>Roma,'scoreH'=>0,'scoreA'=>0] ], [....], ]
Что я делаю не так?