Übersicht
Variablen in PHP werden durch ein Dollarzeichen gefolgt vom Variablennamen dargestellt.
Variablennamen unterscheiden zwischen Groß- und Kleinschreibung.
Ein gültiger Variablenname beginnt mit einem Buchstaben oder Unterstrich, gefolgt von einer beliebigen Anzahl von Buchstaben, Zahlen oder Unterstrichen.
$this ist eine spezielle Variable, der kein Wert zugewiesen werden kann.
Variablen werden standardmäßig immer nach Wert zugewiesen. Wenn eine Referenzzuordnung erforderlich ist, verwenden Sie &
Nur benannte Variablen können per Referenz zugewiesen werden
<code>$foo = 25; $bar = &$foo; // 合法的赋值 $bar = &(24 * 7); // 非法; 引用没有名字的表达式 </code>
Obwohl in PHP keine Notwendigkeit besteht, Variablen zu initialisieren, ist es eine gute Angewohnheit, Variablen zu initialisieren. Nicht initialisierte Variablen haben einen Standardwert für ihren Typ – Boolesche Variablen haben den Standardwert FALSE, Integer- und Gleitkommavariablen haben den Standardwert Null, String-Variablen (wie sie beispielsweise in Echo verwendet werden) haben den Standardwert der leeren Zeichenfolge und Arrays Der Standardwert einer Variablen ist ein leeres Array.
Vordefinierte Variablen
<code>超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量 $GLOBALS — 引用全局作用域中可用的全部变量 $_SERVER — 服务器和执行环境信息 $_GET — HTTP GET 变量 $_POST — HTTP POST 变量 $_FILES — HTTP 文件上传变量 $_REQUEST — HTTP Request 变量 $_SESSION — Session 变量 $_ENV — 环境变量 $_COOKIE — HTTP Cookies $php_errormsg — 前一个错误信息 $HTTP_RAW_POST_DATA — 原生POST数据 $http_response_header — HTTP 响应头 $argc — 传递给脚本的参数数目 $argv — 传递给脚本的参数数组 </code>
Viele der vordefinierten Variablen in PHP sind „superglobal“, was bedeutet, dass sie im gesamten Umfang eines Skripts verfügbar sind. Auf sie kann innerhalb einer Funktion oder Methode zugegriffen werden, ohne dass die globale $variable; ausgeführt werden muss.
Variablenbereich
Globale Variablen sind in Funktionen automatisch ungültig
<code><?php $a = 1; /* global scope */ function Test() { echo $a; /* reference to local scope variable */ } Test(); ?> </code>
Globale Variablen in PHP müssen als global
<code><?php $a = 1; $b = 2; function Sum() { global $a, $b; $b = $a + $b; } Sum(); echo $b; ?> </code>
-Arrays$GLOBALS
<code><?php $a = 1; $b = 2; function Sum() { $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b']; } Sum(); echo $b; ?> </code>
<code><?php function test() { static $a = 0; echo $a; $a++; } for ($i = 0; $i < 10; $i++) { test(); } // 0123456789 ?> </code>
<code>$Bar = "a"; $Foo = "Bar"; $World = "Foo"; $Hello = "World"; $a = "Hello"; $a; //Returns Hello $$a; //Returns World $$$a; //Returns Foo $$$$a; //Returns Bar $$$$$a; //Returns a </code>