Variablen in Strings einbinden

Bequeme Naturen packen gerne Variablen in Echo-Ausgaben. Das sieht dann so aus:

echo “Hallo $strUser, wie geht es“;

Das ist auch kein Problem. Was aber wenn Sie eine Zeile wie diese ausgeben wollen:

echo “Das ist $intCountmal besser“;

Dann hat PHP ein Problem. Denn es erkennt nicht die Variable. Abhilfe 1: die Variable ausgliedern:

$intCount=100;

echo ‘Das ist ‘.$intCount.’mal besser’;

Das ist in jedem Fall die schnellste Variante. Eine Alternative ist, die Variable in geschweifte Klammern zu setzen, also

echo “Das ist {$intCount}mal besser”;

Die geschweiften Klammern zeigen PHP, wo der Variablenname zu Ende ist.

Übrigens funktioniert auch

echo “Das ist ${intCount}mal besser”;

mit dem $ vor der Klammer.

 

PHP: String als Variablennamen zuweisen

Hier ein Tipp aus der Abteilung “Straßenprogrammierer”. Sie können aus einem String einen Variablennamen bilden. Das ist zwar nicht die feine Art – aber in einigen Fällen doch praktisch. Ein Beispiel:

<?

$strNewVarName = "neue_variable";

$$strNewVarName = "Hallo Welt";

echo $neue_variable;

?>

Der Trick steckt im doppelten Dollarzeichen. Aus dem Inhalt von $strNewVarName wird dann ein neuer Variablenname – im Beispiel $neue_variable. Und deren Inhalt gibt der echo-Befehl in der letzten Zeile aus.

Kleiner Hinweis: Diese Art, Variablen zu erzeugen, sollten Sie wirklich nur in Notfällen einsetzen. Im Allgemeinen ist es sinnvoller, mit einem Array zu arbeiten und dessen Keys dynamisch zu erzeugen. Vorteil: Sie haben mit einem var_dump jederzeit unter Kontrolle, welche Keys gesetzt und wie sie belegt sind.

Variablentyp in PHP feststellen

PHP ist nicht streng typisiert, sprich: Jede Variable kann in PHP beliebigen Inhalt haben, mal einen String, mal eine Fließkommazahl, mal einen Integer. In vielen Fällen ist es aber wichtig, ganz sicher den richtigen Typen zu haben.

Mögliche Fehler fangen Sie in der Programmiersprache PHP am besten mit einer Typen-Prüfung ab. Dazu gibt es eine Reihe von is_xxx-Befehlen. Zum Beispiel

echo is_int(3);

gibt schreibt eine 1 für true als Antwort. Die Zeile

echo is_int(“Hallo”);

hingegen gibt gar nichts aus. Mit

echo is_bool(is_int(“Hallo”));

aber lässt sich einfach nachweisen, dass ein Boolscher Wert, in diesem Fall false zurückgegeben wird.

 

Ähnliche Beiträge