Ausdrücke sind der wichtigste Eckpfeiler von PHP. In der PHP-Programmierung
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“ ist offensichtlich der 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 mit $b identisch sein wird = 5. Mit anderen Worten, $a ist auch ein Ausdruck, der 5 ergibt. Wenn alles richtig funktioniert, wird genau das passieren.
Ein Beispiel für einen etwas komplexeren Ausdruck ist eine Funktion. Betrachten Sie zum Beispiel die folgende Funktion:
function foo ()
{
return 5;
}
?>
Angenommen, Sie sind bereits mit dem Konzept von Funktionen vertraut, ist die Eingabe von $c = foo() im Wesentlichen dasselbe wie das Schreiben von $c = 5, was richtig ist. Auch Funktionen sind Ausdrücke und der Wert eines Ausdrucks ist ihr Rückgabewert. Da foo() 5 zurückgibt, ergibt der Ausdruck „foo()“ ebenfalls 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 auf dem Ausdruckspfad 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 Variablen und Variablensymbolen 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 erhöhten Wert (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),
Das letzte Beispiel, das hier untersucht wird, ist der kombinierte Operationszuweisungsausdruck. Wissen Sie bereits, dass Sie, wenn Sie 1 zur Variablen $a hinzufügen möchten, einfach „$a“ oder „$a“ schreiben können. Aber was ist, wenn Sie einer Variablen einen Wert hinzufügen möchten, der größer als 1 ist, beispielsweise 3? Sie können „$a“ mehrmals schreiben, aber dies ist offensichtlich keine effiziente und komfortable Methode. Ein allgemeinerer Ansatz ist „$a =“. $a 3". „$a 3“ entspricht $a plus 3, und der resultierende Wert wird der Variablen $a neu zugewiesen, sodass der Wert von $a um 3 erhöht wird. In PHP und einigen 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 einen anderen Ausdruck, der seltsam aussehen könnte, wenn Sie ihn nicht in anderen Sprachen gesehen haben, nämlich den ternären Bedingungsoperator:
$first ? $second : $third
?>
Wenn der Wert des ersten Unterausdrucks TRUE (ungleich Null) ist, 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.
Das folgende Beispiel soll allgemein zum Verständnis von Prä- und Post-Inkrementen und Ausdrücken beitragen:
function double($i)
{
return $i*2;
}
$b = $a = 5; /* Weisen Sie den Variablen $a und $ den Wert fünf zu b */
$c = $a ; /* nach der Inkrementierung den ursprünglichen Wert von $a
(5) zu $c */
$e = $ zuweisen d = $b; /* vor der Erhöhung, weisen Sie $d und $e den inkrementierten Wert von
$b (6) zu */
/* an dieser Stelle sowohl $d als auch $e sind gleich 6 */
$f = double($d ); /* weisen Sie den doppelten Wert von $d vor
dem Inkrement zu, 2*6 = 12 zu $f * /
$g = double( $e); /* weist den doppelten Wert von $e nach
der Erhöhung zu, 2*7 = 14 zu $g */
$ h = $g = 10; /* Zuerst wird $g um 10 erhöht und endet mit dem
Wert von 24. Der Wert der Zuweisung (24) wird dann
in $ h zugewiesen , und $h endet ebenfalls mit dem Wert
von 24 */
?>
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 (ohne Berücksichtigung der Groß-/Kleinschreibung) sind zwei mögliche boolesche Werte. Ein Ausdruck wird bei Bedarf automatisch in einen booleschen Wert konvertiert.