Kapitel 8. Variablen

Inhaltsverzeichnis
Grundlegendes
Vordefinierte Variablen
Geltungsbereich von Variablen
Variable Variablen
Variablen ausserhalb von PHP

Grundlegendes

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

Variablen-Namen werden in PHP nach den gleichen Regeln wie andere Bezeichner erstellt . Ein gültiger Variablen-Name 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_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* ' .

Anmerkung : Unserem Zweck entspricht also ein Buchstabe von a bis z bzw . A bis Z oder einem ASCII-Zeichen von 127 bis 255 ( 0x7f bis 0xff ) .

 
$var

 
=

 
"

 
Du"

 
;

 
$vaR

 
=

 
"und"

 
;

 
$Var

 
=

 
"ich"

 
;

 
$vAr

 
=

 
"wir

 
lernen

 
PHP

 
"

 
echo

 
"$var

 
$vaR

 
$Var

 
,

 
$vAr"

 
;

 
/

 
/

 
gibt

 
"Du

 
und

 
ich

 
,

 
wir

 
lernen

 
PHP

 
"

 
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

 
ASCII-Wert

 
228

 
entspricht





Variablen werden in PHP 3 durch ihren Wert bestimmt . Das heisst , wenn sie einer Variablen einen Ausdruck zuweisen , wird der gesamte Inhalt des Originalausdrucks in die Zielvariable kopiert . Die Folge ist , dass eine Variable , die ihren Inhalt von einer anderen Variablen erhalten hat , ihren Inhalt behält , auch wenn sie danach den Inhalt der anderen ( Quell - / Ursprungs - )Variablen ändern . Die Inhalte der Ziel - und Quellvariablen sind also insoweit unabhängig voneinander . Für weitere Informationen lesen sie bitte Expressions / Ausdrücke .

PHP 4 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 ) . Beide Variablen zeigen also auf die selbe( n ) Speicherstelle(n ) . Änderungen der neuen Variablen ändern auch deren Ursprungs - Variable und umgekehrt . Der Wert / Inhalt wird also nicht kopiert . Die Übertragung geschieht dadurch auch schneller als in PHP 3 . Dies wird sich aber nur bei umfangreichen Schleifen oder bei der Übertragung von grossen Arrays oder Objekten bemerkbar machen .

Für die Zuweisung per Referenz müssen sie lediglich ein der ( Ausgangs- , Quell - ) Variablen voranstellen , die sie einer anderen Variablen zuweisen wollen . Der folgende Skript - Ausschnitt wird zweimal ' Mein Name ist Bob ' ausgeben :

 
?php

 
$foo

 
=

 
'

 
Bob'

 
;

 
/

 
/

 
'Bob

 
'

 
der

 
Variablen

 
$foo

 
zuweisen

 
.

 
$bar

 
=

 
$foo

 
;

 
/

 
/

 
Zeiger

 
auf

 
$foo

 
in

 
$bar

 
erzeugen

 
.

 
$bar

 
=

 
"My

 
name

 
is

 
$bar"

 
;

 
/

 
/

 
$bar

 
verändern..

 
.

 
echo

 
$foo

 
;

 
/

 
/

 
$foo

 
wurde

 
dadurch

 
ebenfalls

 
verändert

 
.

 
echo

 
$bar

 
;

 
?





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

 
?php

 
$foo

 
=

 
25

 
;

 
$bar

 
=

 
$foo

 
;

 
/

 
/

 
Gültige

 
Zuweisung

 
.

 
$bar

 
=

 
(24

 
*

 
7)

 
;

 
/

 
/

 
Ungültig

 
,

 
da

 
kein

 
Variablenbezeichner

 
/

 
/

 
zugewiesen

 
wird

 
.

 
function

 
test(

 
)

 
{

 
return

 
25

 
;

 
}

 
$bar

 
=

 
()

 
;

 
/

 
/

 
Ungültig

 
.

 
?