Mehrdimensionales Array aus SQL Tabelle bilden

Die Werte vom Schlüssel 2 müssen mit Schlüssel 0 getauscht werden.
Sollte also so aussehen:
Code:
Array
(
    [0] => Array
        (
            [0] => 40
            [1] => 13332.08
            [2] => 14298.67
        )
 
    [1] => Array
        (
            [0] => 41
            [1] => 14298.67
            [2] => 13332.08
        )
 
    [2] => Array
        (
            [0] => 42
            [1] => 3347.63
            [2] => 14298.67
        )
 
)
mit meiner Schleife wird aber nur der erste getauscht.
 
& bedeutet dass es eine Referenz ist. Wenn ich im $node etwas $node etwas ändere, dann ists auch im Array geändert
 
PHP:
// Jedem Unterarray den Schlüssel am Ende anhängen
foreach($data1 as $key => &$node){
    $node[] = $key;
}
Funktionieren tut es ja wunderbar, nur würde ich das auch gerne verstehen.

Du sagst, dass & eine Referenz ist. Nur auf was? das oben genannte Beispiel hängt immer den Schlüssel an bzw. das Feld ma_id.
Angenommen, ich will eine andere Spalte aus der DB als Referenz auswählen, wie realisiere ich das?

Weder $key, noch $node ist ja definiert! Und genau das verstehe ich nicht, wie und woher die beiden ihre Referenz beziehen.

Ich finde löeider nicht wirklich brauchbare Informationen dazu.
 
schau dir mal foreach() an. Dann siehst du wo $key und $node definiert sind. Genau, im Befehl foreach() werden diese definiert.
Und dank dem & ist $node immer eine Referenz auf den Eintrag in $data1 auf den der foreach-Zeiger gerade zeigt.
 
Zurück