Meine Select-Abfrage ($ sql = "wählen Tag, Stunde, Dollar von db";) Ausgabe besteht aus 744 Zeilen, eine für jede Stunde eines 31-Tage-Monats. Ich schließe ich sie und es so (Kommata zur besseren Lesbarkeit):PHP-Abfrage Abfrage AFTER Abfrage
day 1, hour 1, dollars 300
day 1, hour 2, dollars 310
day 1, hour 3, dollars 299
/*etc., up to row 744, which looks like the following */
day 31, hour 24, dollars 200
So, 31 Tage bei 24 Stunden pro Tag, alle in 744 Zeilen.
in PHP geschrieben, ich möchte, dass die Zeilen, die von Tag zu gruppieren, so dass ich
da 1:
hour 1, dollars 300
hour 2, dollars 310
hour 3, dollars 299
..
hour 24, dollars 299
31:
24, 200
Um die day
als ein Niveau oberhalb hour
und dollars
gesetzt, habe ich versucht eine Reihe zu machen, etwa so:
$arr[] = array($day =>['hour' => $hour, 'dollars' => $dollars]);
print_r($arr)
erzeugt dies:
Array
(
[1] => Array
(
[hour] => 1
[dollars] => 300
)
)
Array
(
[1] => Array
(
[hour] => 2
[dollars] => 310
)
)
Array
(
[1] => Array
(
[hour] => 3
[dollars] => 299
)
)
// etc. up to:
Array
(
[31] => Array
(
[hour] => 24
[dolars] => 200
)
)
... aber was ich brauche, ist so etwas wie dieses:
Array
(
[1] =>
[
[hour] => 1
[dollars] => 300
],
[
[hour] => 2
[dollars] => 310
],
[
[hour] => 3
[dollars] => 299
],
/*etc., up to */
[
[hour] => 24
[dollars] => 200
]
)
Irgendwelche Vorschläge, wie ich kann ich das tun?
A 1 von der Anzahl der Dimensionen Versuchen Sie es tun sollten. Um Probleme beim Verwalten von Indizes zu vermeiden, erstellen Sie zuerst die Arrays für jeden Tag und fügen Sie dann diese Arrays zum globalen Array hinzu. – Loufylouf
'$ arr [$ Tag] [] = ['Stunde' => $ Stunde, 'Dollar' => $ Dollar];' – fusion3k