Arrays und echo (Thema: PHP Beispiele)

Eine grobe Beschreibung der Syntax zur Verwendung von Arrays in echo-Ausgaben.

Im Gegensatz zu „normalen” Variablen können die zu Array-Schlüsseln gehörenden Werte nicht immer ohne weiteres per echo() ausgegeben werden:
PHP-Code
<?php
	$var = 'Januar';

	$monate1 = array('Januar', 'Februar', 'Maerz');
	$monate2 = array('jan'=>'Januar', 'feb'=>'Februar', 'ma'=>'Maerz');
	$monate3 = array(
			'anfang'=>array(Januar, Februar),
			'ende'=>array('November', 'Dezember')
		);

	echo("Der erste Monat des Jahres ist der $var.\n"); // erzeugt: Der erste Monat des Jahres ist der Januar.
	echo("Der erste Monat des Jahres ist der $monate1[0].\n"); // erzeugt: (...) Januar.
	//echo("Der erste Monat des Jahres ist der $monate2['jan'].\n"); // Fatal Error
	echo("Der erste Monat des Jahres ist der $monate2[jan].\n"); // kein Fatal Error, obwohl diese Schreibweise schlechter Stil ist; erzeugt: (...) Januar.
	echo("Der erste Monat des Jahres ist der $monate3[anfang][0].\n"); // erzeugt: (...) Array[0].

	// wird das Array nicht in einem String eingebettet, dann kann es ohne Probleme ausgegeben werden:
	echo($monate3['anfang'][0]); // erzeugt: Januar
?>
Ausgabe
Der erste Monat des Jahres ist der Januar.
Der erste Monat des Jahres ist der Januar.
Der erste Monat des Jahres ist der Januar.
Der erste Monat des Jahres ist der Array[0].
Januar

Beim Ausgeben von mehrdimensionalen Arrays macht die normale Schreibweise also Probleme.
Behoben werden kann das auf zwei Wegen: Entweder man umgibt das Array an dieser Stelle im String mit geschweiften Klammern
oder man unterbricht den String:
PHP-Code
<?php
	$monate3 = array(
			'anfang'=>array(Januar, Februar),
			'ende'=>array('November', 'Dezember')
		);
	// Mit geschweiften Klammern
	echo("Der erste Monat des Jahres ist der {$monate3['anfang'][0]}.\n");

	// String unterbrechen bzw. mehrere Strings verknüpfen
	echo("Der erste Monat des Jahres ist der ".$monate3['anfang'][0].".");
?>
Ausgabe
Der erste Monat des Jahres ist der Januar.
Der erste Monat des Jahres ist der Januar.

Verwendet man einfache Anführungszeichen, dann kann die Schreibweise mit geschweiften Klammern nicht verwendet werden, wodurch
nur die Verknüpfung mehrerer Strings übrig bleibt.
PHP-Code
<?php
	$monate3 = array(
			'anfang'=>array(Januar, Februar),
			'ende'=>array('November', 'Dezember')
		);
	// Mit geschweiften Klammern
	echo('Der erste Monat des Jahres ist der {$monate3[anfang][0]}.');
	echo("\n");

	// String unterbrechen bzw. mehrere Strings verknüpfen
	echo('Der erste Monat des Jahres ist der '.$monate3['anfang'][0].'.');
?>
Ausgabe
Der erste Monat des Jahres ist der {$monate3[anfang][0]}.
Der erste Monat des Jahres ist der Januar.

Kommentare (0)

Von neu nach alt