PHP-Ausdruck

伊谢尔伦
伊谢尔伦Original
2016-11-24 13:40:591242Durchsuche

Ausdrücke sind der wichtigste Eckpfeiler von PHP. In PHP ist fast alles, was Sie schreiben, ein Ausdruck. Die einfachste, aber präziseste Art, einen Ausdruck zu definieren, ist „alles mit einem Wert“.

Die grundlegendsten Ausdrucksformen sind Konstanten und Variablen. Wenn Sie „$a = 5“ eingeben, wird der Variablen $a der Wert „5“ zugewiesen. „5“ hat offensichtlich den Wert 5, mit anderen Worten: „5“ ist ein Ausdruck mit dem Wert 5 (hier ist „5“ eine ganzzahlige Konstante).

Nach der Zuweisung wird erwartet, dass $a einen Wert von 5 hat. Wenn wir also $b = $a schreiben, ist die Erwartung, dass es dasselbe sein wird wie $b = 5. Mit anderen Worten, $a ist auch ein Ausdruck mit dem Wert 5. Wenn alles richtig funktioniert, wird genau das passieren.

Ein Beispiel für einen etwas komplexeren Ausdruck ist eine Funktion. Betrachten Sie beispielsweise die folgende Funktion:

109b64af5b0a612c3a896fd1f8fcdf20

Vorausgesetzt, Sie sind mit dem Konzept von Funktionen vertraut, entspricht die Eingabe von $c = foo() im Wesentlichen der Eingabe von $c = 5, was korrekt ist. Auch Funktionen sind Ausdrücke und der Wert eines Ausdrucks ist ihr Rückgabewert. Da foo() 5 zurückgibt, ergibt der Ausdruck „foo()“ auch 5. Oftmals geben Funktionen nicht nur einen statischen Wert zurück, sondern können auch etwas berechnen.

Natürlich sind Werte in PHP oft keine ganzen Zahlen. PHP unterstützt vier Arten von Skalarwerten (Skalarwerte können nicht in kleinere Einheiten wie Arrays aufgeteilt werden): Ganzzahl, Float, String und Boolean (boolean). PHP unterstützt auch zwei zusammengesetzte Typen: Arrays und Objekte. Beide Typen können Variablen zugewiesen oder von Funktionen zurückgegeben werden.

PHP entwickelt sich entlang des Ausdruckspfads wie andere Sprachen, geht aber noch weiter. PHP ist eine ausdrucksorientierte Sprache in dem Sinne, dass fast alles ein Ausdruck ist. Betrachten Sie das gerade untersuchte Beispiel „$a = 5“. Offensichtlich handelt es sich hierbei um zwei Werte, den Wert der Ganzzahlkonstante „5“ und den Wert der Variablen $a, die ebenfalls auf 5 aktualisiert wird. Fakt ist aber, dass es noch einen weiteren Wert gibt, nämlich den Wert der Mehrwertaussage selbst. Die Zuweisungsanweisung selbst ergibt den zugewiesenen Wert, der 5 ist. Tatsächlich bedeutet dies, dass „$a = 5“, unabhängig davon, was es tut, ein Ausdruck ist, der als 5 ausgewertet wird. Daher ist das Schreiben von „$b = ($a = 5)“ dasselbe wie das Schreiben von „$a = 5; $b = 5“ (das Semikolon markiert das Ende der Anweisung). Da die Reihenfolge der Zuweisungsoperationen von rechts nach links erfolgt, können Sie auch „$b = $a = 5“ schreiben.

Ein weiteres gutes ausdrucksorientiertes Beispiel ist das Vorwärts- und Rückwärtsinkrementieren und -dekrementieren. Benutzer von PHP und den meisten anderen Sprachen sollten mit den Symbolen variable++ und variable-- vertraut sein. Nämlich die Inkrement- und Dekrementoperatoren. In PHP gibt es wie in der C-Sprache zwei Arten von Inkrementen: Vorinkrementierung und Postinkrementierung. Im Wesentlichen erhöhen sowohl die Vorinkrementierung als auch die Postinkrementierung den Wert der Variablen, und die Auswirkungen auf die Variable sind gleich unterschiedlich ist der Wert des inkrementierenden Ausdrucks. Die Vorinkrementierung, geschrieben als „++$variable“, findet den Wert nach der Inkrementierung (PHP erhöht den Wert der Variablen, bevor der Wert der Variablen gelesen wird, daher wird dies als „Vorinkrementierung“ bezeichnet). Post-Inkrement, geschrieben als „$variable++“, findet den ursprünglichen Wert der Variablen, bevor er inkrementiert wird (PHP erhöht den Wert der Variablen, nachdem er den Wert der Variablen gelesen hat, daher wird dies als „Post-Inkrement“ bezeichnet).

Ein häufig verwendeter Ausdruckstyp ist ein Vergleichsausdruck. Diese Ausdrücke ergeben FALSE oder TRUE. PHP unterstützt > (größer als), >= (größer als oder gleich), == (gleich), != (ungleich), < (kleiner als) und <= (kleiner als oder). gleich). PHP unterstützt auch den Gleichheitsoperator === (die Werte und Typen sind gleich) und den Nichtidentitätsoperator !== (die Werte oder Typen sind unterschiedlich). Diese Ausdrücke werden häufig in bedingten Beurteilungsanweisungen verwendet, beispielsweise in if-Anweisungen.

Das letzte Beispiel, das wir hier untersuchen werden, ist der kombinierte arithmetische Zuweisungsausdruck. Wissen Sie bereits, dass Sie, wenn Sie 1 zur Variablen $a hinzufügen möchten, einfach „$a++“ oder „++$a“ schreiben können. Was aber, wenn Sie einer Variablen einen Wert größer als 1 hinzufügen möchten, beispielsweise 3? Sie können „$a++“ mehrmals schreiben, aber das ist offensichtlich keine effiziente und komfortable Methode. Ein allgemeinerer Ansatz ist „$a = $a + 3“. „$a + 3“ entspricht $a plus dem Wert 3, und der resultierende Wert wird der Variablen $a neu zugewiesen, sodass der Wert von $a um 3 erhöht wird. In PHP und mehreren anderen Sprachen wie C kann die oben genannte Funktionalität in kürzerer Form und daher klarer und schneller ausgeführt werden. Um 3 zum aktuellen Wert von $a hinzuzufügen, können Sie schreiben: „$a += 3“. Was es hier bedeutet, ist „Nehmen Sie den Wert der Variablen $a, addieren Sie 3 und weisen Sie das Ergebnis erneut der Variablen $a zu.“ Es ist nicht nur einfacher und übersichtlicher, sondern kann auch schneller ausgeführt werden. Der Wert von „$a += 3“ ist wie der Wert einer normalen Zuweisungsoperation der Wert nach der Zuweisung. Beachten Sie, dass es sich nicht um 3 handelt, sondern um den Wert von $a plus 3 (dieser Wert wird $a zugewiesen). Jeder binäre Operator kann das Operationszuweisungsmuster verwenden, z. B. „$a -= 5“ (5 vom Wert der Variablen $a subtrahieren), „$b *= 7“ (Variable $b mit 7 multiplizieren) usw. warten .

Es gibt auch einen Ausdruck, der möglicherweise seltsam aussieht, wenn Sie ihn noch nicht in anderen Sprachen gesehen haben, nämlich den ternären Bedingungsoperator:

<?php
$first ? $second : $third
?>

Wenn der erste Wert des Unterausdrucks TRUE ist (ungleich Null), dann wird der zweite Unterausdruck ausgewertet und sein Wert ist der Wert des gesamten bedingten Ausdrucks. Andernfalls wird der dritte Unterausdruck ausgewertet und sein Wert wird zum Wert des gesamten Ausdrucks.

Die folgenden Beispiele sollen zum Verständnis von Prä- und Post-Inkrementen und Ausdrücken im Allgemeinen hilfreich sein:

<?php
function double($i)
{
return $i*2;
}
$b = $a = 5;        /* assign the value five into the variable $a and $b */
$c = $a++;          /* post-increment, assign original value of $a
(5) to $c */
$e = $d = ++$b;     /* pre-increment, assign the incremented value of
$b (6) to $d and $e */
/* at this point, both $d and $e are equal to 6 */
$f = double($d++);  /* assign twice the value of $d before
the increment, 2*6 = 12 to $f */
$g = double(++$e);  /* assign twice the value of $e after
the increment, 2*7 = 14 to $g */
$h = $g += 10;      /* first, $g is incremented by 10 and ends with the
value of 24. the value of the assignment (24) is
then assigned into $h, and $h ends with the value
of 24 as well. */
?>

Einige Ausdrücke können als Anweisungen behandelt werden. Zu diesem Zeitpunkt ist die Form einer Anweisung expr;, das heißt, ein Ausdruck endet mit einem Semikolon. In '$b = $a = 5;' ist '$a = 5' ein gültiger Ausdruck, aber keine Aussage an sich. Und '$b = $a = 5;' ist eine gültige Aussage.

Das Letzte, was erwähnenswert ist, ist der Wahrheitswert von Ausdrücken. Bei vielen Ereignissen, vor allem bei bedingter Ausführung und Schleifen, ist Ihnen der konkrete Wert des Ausdrucks egal, sondern nur, ob der Wert des Ausdrucks TRUE oder FALSE ist. Die Konstanten TRUE und FALSE (unabhängig von der Groß-/Kleinschreibung) sind zwei mögliche boolesche Werte. Ein Ausdruck wird bei Bedarf automatisch in einen booleschen Wert konvertiert.


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:Vorrang des PHP-OperatorsNächster Artikel:Vorrang des PHP-Operators