Grundlegendes

Variablen werden in PHP durch ein Dollar-Zeichen ($) gefolgt vom Namen der Variable dargestellt. Bei Variablennamen wird zwischen Groß- und Kleinschreibung unterschieden (case-sensitive).

Variablennamen werden in PHP nach den gleichen Regeln wie andere Bezeichner erstellt. Ein gültiger Variablenname beginnt mit einem Buchstaben oder einem Unterstrich ("_"), gefolgt von einer beliebigen Anzahl von Buchstaben, Zahlen oder Unterstrichen. Als regulärer Ausdruck (regular expression) würde das wie folgt ausgedrückt: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$.

Hinweis: Unserem Zweck entspricht also ein Buchstabe von a bis z bzw. A bis Z oder ein Bytewert von 128 bis 255 (0x80-0xff).

Hinweis: $this ist eine spezielle Variable, die nicht geändert werden kann. Vor PHP 7.1.0 war die indirekte Zuweisung, z.B. durch die Verwendung von variable Variablen, möglich.

Tipp

Siehe auch Userland-Namensregeln.

Information zu Funktionen im Zusammenhang mit Variablen finden Sie im Abschnitt Funktionen zur Behandlung von Variablen.

<?php
$var 
"du";
$Var "ich";
echo 
"$var$Var";           // gibt "du, ich" aus

$4site  'nicht jetzt';     // ungültig, da Anfang eine Zahl
$_4site 'nicht jetzt';     // gültig, da Unterstrich am Anfang
$täbyte 'irgendwas';       // gültig, da 'ä' dem (Erweiterten) ASCII-Wert 228 entspricht
?>

Standardmäßig wird Variablen immer ein Wert zugewiesen. Das heißt, wenn Sie einer Variablen einen Ausdruck zuweisen, wird der gesamte Inhalt des Originalausdrucks in die Zielvariable kopiert. Das bedeutet zum Beispiel, dass nach der Zuweisung des Wertes einer Variablen an eine andere die Änderung einer der Variablen keinen Einfluss auf die andere hat. Für weitere Informationen zu dieser Art der Zuordnung lesen Sie bitte das Kapitel unter Expressions / Ausdrücke.

PHP bietet eine andere Möglichkeit der Wertzuweisung bei Variablen: Zuweisung durch Referenzierung. Das bedeutet, dass der Wert der neuen Variablen eine Referenz zur Ursprungs-Variablen darstellt (mit anderen Worten: Der Wert ist ein Alias bzw. Zeiger auf den Inhalt der Ursprungsvariablen). Änderungen der neuen Variablen ändern auch deren Ursprungs-Variable und umgekehrt.

Für die Zuweisung per Referenz müssen Sie der Ursprungsvariablen, die Sie einer anderen Variablen zuweisen wollen, lediglich ein kaufmännisches Und (&) voranstellen. Das folgende Code-Schnipsel wird zweimal 'Ich heiße Bob' ausgeben:

<?php
$foo 
'Bob';             // 'Bob' der Variablen $foo zuweisen.
$bar = &$foo;             // $foo per $bar referenzieren.
$bar "Ich heiße $bar";  // $bar verändern...
echo $bar;
echo 
$foo;                // $foo wurde ebenfalls verändert.
?>

Zu beachten ist, dass nur Variablennamen referenziert werden können.

<?php
$foo 
25;
$bar = &$foo;      // Gültige Zuweisung.
$bar = &(24 7);  // Ungültig, da ein unbenannter Ausdruck referenziert wird.

function test()
{
    return 
25;
}

$bar = &test();    // Ungültig.
?>

Es ist in PHP nicht zwingend notwendig, Variablen zu initialisieren, es wird aber trotzdem empfohlen. Nicht initialisierte Variablen haben einen Vorgabewert der vom Typ abhängt – boolesche Werte sind standardmäßig false, Ganz- und Gleitkommazahlen sind standardmäßig Null (0), Zeichenketten, die z.B. in echo verwendet werden, sind standardmäßig leer, und Arrays ebenfalls.

Beispiel #1 Vorgabewerte uninitialisierter Variablen

<?php
// Nicht gesetzte UND nicht referenzierte (kein Verwendungskontext) Variable;
// gibt NULL aus
var_dump($unset_var);

// Verwendung als boolescher Wert; gibt 'false' aus (siehe den ternären
// Operator für Details zu dieser Syntax)
echo($unset_bool "true\n" "false\n");

// Verwendung als Zeichenkette; gibt 'string(3) "abc"' aus
$unset_str .= 'abc';
var_dump($unset_str);

// Verwendung als Ganzzahl; gibt 'int(25)' aus
$unset_int += 25// 0 + 25 => 25
var_dump($unset_int);

// Verwendung als Gleitkommazahl; gibt 'float(1.25)' aus
$unset_float += 1.25;
var_dump($unset_float);

// Verwendung als Array; gibt array(1) {  [3]=>  string(3) "def" } aus
$unset_arr[3] = "def"// array() + array(3 => "def") => array(3 => "def")
var_dump($unset_arr);

// Verwendung als Objekt; erzeugt ein neues stdClass-Objekt
// (siehe http://www.php.net/manual/en/reserved.classes.php)
// Gibt aus: object(stdClass)#1 (1) {  ["foo"]=>  string(3) "bar" }
$unset_obj->foo 'bar';
var_dump($unset_obj);
?>

Es ist problematisch sich auf den Vorgabewert einer nicht initialisierten Variable zu verlassen, wenn Sie eine Datei in eine andere inkludieren, die den gleichen Variablennamen verwendet. Bei Zugriffen auf nicht initialisierte Variablen wird ein Fehler der Stufe E_NOTICE ausgelöst, allerdings trifft dies nicht auf das Anfügen von Elementen an nicht initialisierte Arrays zu. Das isset() Sprachkonstrukt kann verwendet werden, um zu prüfen ob eine Variable bereits initialisiert wurde.

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Was genau bedeutet "Vibe Coding"? Ein tiefgehender Blick für Entwickler

In der Welt der Softwareentwicklung gibt es unzählige Wege, wie man an ein Projekt herangeht. Manche schwören auf strikte Planung, andere auf bewährte Algorithmen und wieder andere lassen sich von etwas ganz anderem leiten: ihrem Gefühl. ...

admin

Autor : admin
Kategorie: Software & Web-Development

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

AI Nude Tool—Make Deepnude & Deepfake for Free

Built two retro-inspired games for fun: https://snakegame.run/ – Vanilla JS + Canvas. https://dinogame.run/ – Offline-first with leaderboards. ...

Geschrieben von hiked07 am 02.04.2025 06:09:57
Forum: IT-Security
AI Nude Tool—Make Deepnude & Deepfake for Free

Batch processing is actually in development for WebPtoJPG (http://webptojpg.tools/) - hoping to release it next month! For Ghiblify (https://ghibl ...

Geschrieben von hiked07 am 02.04.2025 06:08:15
Forum: IT-Security
How to celebrate a birthday in Berlin in an unusual way?

How is it organized? Is the route fixed or can you choose your own? I wonder how long the whole trip takes and are there any restrictions? ​

Geschrieben von einermeiner am 31.03.2025 23:47:53
Forum: Apps und PHP Script Gesuche
How to celebrate a birthday in Berlin in an unusual way?

Riding around Berlin with friends, enjoying drinks and fun is a great idea for a holiday or just a nice day out. This format is great for companie ...

Geschrieben von daberty am 31.03.2025 23:46:24
Forum: Apps und PHP Script Gesuche