dedlfix: Wie kann ich zwei 2-dimensionale arrays spaltenweise verbinden?

Beitrag lesen

echo $begrüßung;

Ich habe jetzt Deinen Code eingesetzt, erhalte aber jetzt nur die Werte der dritten Reihe aus dem array Data, die Tabelle zeigt nur eine Zeile.
Die Werte von Zugabe werden gar nicht angezeigt.

Kein Wunder. Ein foreach läuft über ein Array. Bei jedem Durchlauf wird die unmittelbar danach stehende Anweisung oder der Code innerhalb von { und } ausgeführt. Wenn du danach etwas notierst, dann wird das erst nach dem Ende der Schleife ausgeführt. Die durch foreach gesetzten Variablen, hier $key und $ausgabe, enthalten nach dem foreach die Werte des letzten Durchlaufs.

Hier der Code nach der Veränderung:
foreach($data as $key => $ausgabe) {
if (isset($zugabe[$key])) echo $zugabe[$key];
}

{list($spalte1, $spalte2, $spalte3, $spalte4) = $ausgabe;

[...]

}

Ein {}-Block ohne vorhergehendes foreach, if und dergleichen ist nicht sinnvoll und wird so behandelt, als of das { } nicht da stünde.

Das list()-Konstrukt ist in der Form auch nicht sinnvoll, denn $ausgabe enthält ja nur das was in $data steht und nicht plötzlich noch den Inhalt eines anderen Arrays. Aber dazu schrieb ich ja anderenorts bereits etwas.

Bitte stell zum Entwickeln das error_reporting auf E_ALL (und display_errors auf on), damit dir PHP Hinweise anzeigen kann, wenn du auf nicht vorhandene Dinge zuzugreifen versuchst. Mach bitte außerdem zum Fehlersuchen regen Gebrauch von Kontrollausgaben (von Variableninhalten und Ausdrucksergebnissen), um Wunsch und Wirklichkeit miteinander zu vergleichen.

Ich lese jetzt die Seite über isset.

Nix da, isset() prüft ob eine Variable oder ein Wert eines Arrays vorhanden ist.

echo "$verabschiedung $name";