Ich habe die folgende Reihe von Ergebnissen:PHP merge Arrays nach Wert, in Tabelle - beste Struktur?
Array
(
// 1st big array of results
[0] => Array
(
[0] => Array
(
[customer] => John
[shop_name] => shop1
[shop_address] => address1
)
[1] => Array
(
[customer] => John
[shop_name] => shop2
[shop_address] => address2
)
[2] => Array
(
[customer] => Mark
[shop_name] => shop1
[shop_address] => address1
)
)
// 2nd big array of results
[1] => Array
(
[0] => Array
(
[customer] => Cathy
[shop_name] => shop3
[shop_address] => address3
)
[1] => Array
(
[customer] => Cathy
[shop_name] => shop4
[shop_address] => address4
)
[2] => Array
(
[customer] => Maria
[shop_name] => shop3
[shop_address] => address3
)
)
)
Es gibt einzigartige Paare von shop_name
und shop_address
für jeden Kunden in jedem großen Array von Ergebnissen.
Was würde ich
tun würde Ich mag jeden customer
von ersten großen Array setzen in einer <th></th>
aber seine shop_name
und shop_address
in einzelnen <td></td>
wie folgen aus:
What I'd like to do - Table IMG
Und natürlich wiederholen Sie diesen Prozess für 2. große Array.
Habe ich die beste Struktur von Array, um dies zu tun?
Oder vielleicht sollte ich jeden customer
in seinem eigenen Array setzen:
// Give each 'customer' its own array
foreach ($array[0] as $result) {
$array_by_customer[$result['customer']][] = $result;
}
Aber wie Sie kann ich für array[0]
, dass nur sehen tun - erste große Reihe von Ergebnissen.
Array by customer - PHP Fiddle
Meine Antwort war ein bisschen kurz ... Ich denke, Sie waren auf dem guten Weg: Erstellen Sie ein Array pro Kunde. Auf diese Weise können Sie einen $ array_by_customer pro initialem großen Array ausfüllen, wenn Sie separate Tabellen formatieren möchten. – Baptiste
Aber wie lege ich jedes '$ array_by_customer' in sein erstes großes Array? – JohnRios
Behalten Sie einfach Ihre ursprüngliche Anordnung, wenn Sie es brauchen. Verwenden Sie das Zwischen-Array nur für Präsentationszwecke. – Baptiste