Dans le tableau multidimensionnel ci-dessous, je voudrais fusionner des tableaux qui ont le même merge_id. Je ne suis pas sûr que "fusionner" soit le bon mot: dans l'exemple ci-dessous, array ['0'] devrait devenir array ['0'] avec dans array ['0'] ['0'] et array [' 0 '] [' 1 '], ce dernier étant égal à array [' 1 ']. J'espère que cela a du sens ...php fusionner des tableaux
Le tableau sort de la db triés sur merge_id si les tableaux avec merge_id correspondant sont toujours « à côté de » l'autre, et il n'y aura que jamais 2 avec le même merge_id
En parcourant le tableau, je sais que je dois garder une variable qui est toujours égale au merge_id précédent et s'il y a une correspondance entre le précédent et le courant, alors fusionner.
Array
(
[0] => Array
(
[client_id] => 5
[company_name] => company111_name
[id] => 3
[fee] => 111
[year] => 2009
[quarter] => 3
[date_inserted] => 1264948583
[description] => 2009 - Q3
[fee_type] =>
[merge_id] => a87ff679a2f3e71d9181a67b7542122c
[total_paid] => 0
[total_remainder] => 0
)
[1] => Array
(
[client_id] => 5
[company_name] => company111_name
[id] => 6
[fee] => 55.5
[year] => 2010
[quarter] => 2
[date_inserted] => 1264949470
[description] => 2010 - Q2
[fee_type] =>
[merge_id] => a87ff679a2f3e71d9181a67b7542122c
[total_paid] => 0
[total_remainder] => 0
)
[2] => Array
(
[client_id] => 5
[company_name] => company111_name
[id] => 4
[fee] => 111
[year] => 2009
[quarter] => 4
[date_inserted] => 1264948583
[description] => 2009 - Q4
[fee_type] =>
[merge_id] =>
[total_paid] => 0
[total_remainder] => 0
)
[3] => Array
(
[client_id] => 5
[company_name] => company111_name
[id] => 7
[fee] => 55.5
[year] => 2010
[quarter] => 3
[date_inserted] => 1264949470
[description] => 2010 - Q3
[fee_type] =>
[merge_id] =>
[total_paid] => 0
[total_remainder] => 0
)
)
code
$merger = $data['search']['0']['merge_id'];
$i = 0;
foreach($data['search'] as $fee)
{
if($fee['merge_id'] == $merger)
{
//bump up & merge arrays
???
}
$merger = $fee['merge_id'];
$i++;
}
+1 J'aurais dû regarder la "nouvelle publication" avant d'avoir fini d'écrire ma réponse. Spot sur! –
Ok, ça va bien, merci! http://pastebin.com/ma099b52 – stef