Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die Grundlagen von PHP-Variablen

Einführung in die Grundlagen von PHP-Variablen

伊谢尔伦
伊谢尔伦Original
2016-11-24 13:49:22900Durchsuche

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 = &#39;Bob&#39;;              // 将 &#39;Bob&#39; 赋给 $foo
$bar = &$foo;              // 通过 $bar 引用 $foo
$bar = "My name is $bar";  // 修改 $bar 变量
echo $bar;
echo $foo;                 // $foo 的值也被修改
?>
Obwohl es nicht notwendig ist, Variablen in PHP 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.

Beispiel Nr. 1 Standardwert einer nicht initialisierten Variablen
<?php
$foo = 25;
$bar = &$foo;      // 合法的赋值
$bar = &(24 * 7);  // 非法; 引用没有名字的表达式
 
function test()
{
  return 25;
}
$bar = &test();    // 非法
?>

Das Verlassen auf den Standardwert einer nicht initialisierten Variablen kann in manchen Fällen problematisch sein, z. B. wenn beim Einfügen einer Datei in eine andere derselbe Variablenname auftritt . Auch das Aktivieren von register_globals stellt ein großes Sicherheitsrisiko dar. Die Verwendung einer nicht initialisierten Variablen führt zu einem E_NOTICE-Fehler, das Anhängen von Elementen an ein nicht initialisiertes Array jedoch nicht. Das Sprachkonstrukt isset() kann verwendet werden, um zu erkennen, ob eine Variable initialisiert wurde.

<?php
// Unset AND unreferenced (no use context) variable; outputs NULL
var_dump($unset_var);
 
// Boolean usage; outputs &#39;false&#39; (See ternary operators for more on this syntax)
echo($unset_bool ? "true\n" : "false\n");
 
// String usage; outputs &#39;string(3) "abc"&#39;
$unset_str .= &#39;abc&#39;;
var_dump($unset_str);
 
// Integer usage; outputs &#39;int(25)&#39;
$unset_int += 25; // 0 + 25 => 25
var_dump($unset_int);
 
// Float/double usage; outputs &#39;float(1.25)&#39;
$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 = &#39;bar&#39;;
var_dump($unset_obj);
?>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP vordefinierte VariablenNächster Artikel:PHP vordefinierte Variablen