Variablen werden in PHP durch ein Dollarzeichen gefolgt vom Variablennamen dargestellt. Bei Variablennamen muss die Groß-/Kleinschreibung beachtet werden.
Variablennamen folgen den gleichen Regeln wie andere Tags in PHP. Ein gültiger Variablenname beginnt mit einem Buchstaben oder einem Unterstrich, gefolgt von einer beliebigen Anzahl von Buchstaben, Zahlen oder Unterstrichen. Gemäß dem normalen regulären Ausdruck wird er wie folgt ausgedrückt: „[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*“.
Hinweis: Die hier genannten Buchstaben sind a-z, A-Z und ASCII-Zeichen von 127 bis 255 (0x7f-0xff).
Hinweis: $this ist eine spezielle Variable, der kein Wert zugewiesen werden kann.
$var = 'Bob';
$Var = 'Joe';
echo "$var, $Var" ; // Ausgabe „Bob, Joe“
$4site = 'noch nicht'; // Ungültiger Variablenname; beginnt mit einer Zahl
$_4site = 'nicht Yet' '; // Zulässiger Variablenname; beginnt mit Unterstrich
$i site is = 'mansikka' // Zulässiger Variablenname;
Variablen werden standardmäßig immer nach Wert zugewiesen. Das heißt, wenn der Wert eines Ausdrucks einer Variablen zugewiesen wird, wird der Wert des gesamten ursprünglichen Ausdrucks der Zielvariablen zugewiesen. Dies bedeutet, dass sich beispielsweise die Änderung des Werts einer Variablen, während der Wert einer Variablen einer anderen Variablen zugewiesen ist, nicht auf die andere Variable auswirkt.
PHP bietet auch eine andere Möglichkeit, Variablen Werte zuzuweisen: Referenzzuweisung. Das bedeutet, dass die neue Variable einfach auf die ursprüngliche Variable verweist (mit anderen Worten „Aliase“ oder „zeigt auf“). Das Ändern der neuen Variablen wirkt sich auf die ursprüngliche Variable aus und umgekehrt.
Um die Zuweisung per Referenz zu verwenden, fügen Sie einfach ein &-Symbol vor der zuzuweisenden Variablen (der Quellvariablen) hinzu. Der folgende Codeausschnitt gibt beispielsweise zweimal „Mein Name ist Bob“ aus:
Es ist wichtig zu beachten, dass nur benannte Variablen per Referenz zugewiesen werden können.<?php $foo = 'Bob'; // 将 'Bob' 赋给 $foo $bar = &$foo; // 通过 $bar 引用 $foo $bar = "My name is $bar"; // 修改 $bar 变量 echo $bar; echo $foo; // $foo 的值也被修改 ?>
<?php $foo = 25; $bar = &$foo; // 合法的赋值 $bar = &(24 * 7); // 非法; 引用没有名字的表达式 function test() { return 25; } $bar = &test(); // 非法 ?>
<?php // Unset AND unreferenced (no use context) variable; outputs NULL var_dump($unset_var); // Boolean usage; outputs 'false' (See ternary operators for more on this syntax) echo($unset_bool ? "true\n" : "false\n"); // String usage; outputs 'string(3) "abc"' $unset_str .= 'abc'; var_dump($unset_str); // Integer usage; outputs 'int(25)' $unset_int += 25; // 0 + 25 => 25 var_dump($unset_int); // Float/double usage; outputs 'float(1.25)' $unset_float += 1.25; var_dump($unset_float); // Array usage; outputs array(1) { [3]=> string(3) "def" } $unset_arr[3] = "def"; // array() + array(3 => "def") => array(3 => "def") var_dump($unset_arr); // Object usage; creates new stdClass object (see http://www.php.net/manual/en/reserved.classes.php) // Outputs: object(stdClass)#1 (1) { ["foo"]=> string(3) "bar" } $unset_obj->foo = 'bar'; var_dump($unset_obj); ?>