Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind Ausdrücke in PHP?

Was sind Ausdrücke in PHP?

怪我咯
怪我咯Original
2017-06-20 10:40:532089Durchsuche

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 ein Ausdruck, dessen Auswertung ebenfalls 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:

<?php
function  foo  ()
{
    return  5 ;
}
?>

Angenommen, Sie sind bereits mit dem Konzept von Funktionen vertraut (falls nicht, schauen Sie sich das Kapitel über Funktionen an), dann geben Sie im Wesentlichen $c = foo() ein Wenn wir $c = 5 schreiben, ist das richtig. 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): Ganzzahlwert (Integer), Gleitkommawert (Float), String Wert (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 hier 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. Das heißt, die Inkrementierungs- und Dekrementierungsoperatoren . In PHP/FI 2 hat die Anweisung „$a++“ keinen Wert (keinen Ausdruck), daher können Sie ihr keinen Wert zuweisen oder sie auf andere Weise verwenden. PHP erweitert die Inkrementierungs-/Dekrementierungsfunktionen, indem es sie in einen Ausdruck umwandelt, ähnlich der C-Sprache. In der PHP- und C-Sprache gibt es zwei Arten von Inkrementen: Vorinkrement und Postinkrement. Im Wesentlichen erhöhen sowohl Preinkrement als auch Postinkrement den Wert der Variablen und haben die gleiche Auswirkung auf die Variable. Der Unterschied besteht darin, dass der Wert des Ausdrucks erhöht wird. 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 werden als FALSE oder TRUE ausgewertet. PHP unterstützt > (größer als), >= (größer als oder gleich), == (gleich), != (ungleich), < (kleiner als oder gleich). Zu). PHP unterstützt auch den Gleichheitsoperator === (gleiche Werte und Typen) und den Nichtidentitätsoperator !== (unterschiedliche Werte oder Typen). Diese Ausdrücke werden am häufigsten in bedingten Urteilsaussagen verwendet, wie z. B. if-Anweisungen.

这里,将要研究的最后一个例子是组合的运算赋值表达式。已经知道如果想要为变量 $a 加1,可以简单的写“$a++”或者“++$a”。但是如果想为变量增加大于 1 的值,比如 3,该怎么做?可以多次写“$a++”,但这样明显不是一种高效舒适的方法,一个更加通用的做法是“$a = $a + 3”。“$a + 3”计算 $a 加上 3 的值,并且得到的值重新赋予变量 $a,于是 $a 的值增加了3。在 PHP 及其它几种类似 C 的语言中,可以以一种更加简短的形式完成上述功能,因而也更加清楚快捷。为 $a 的当前值加 3,可以这样写:“$a += 3”。这里的意思是“取变量 $a 的值,加 3,得到的结果再次分配给变量 $a”。除了更简略和清楚外,也可以更快的运行。“$a += 3”的值,如同一个正常赋值操作的值,是赋值后的值。注意它不是 3,而是 $a 的值加上3 之后的值(此值将被赋给 $a)。任何二元运算符都可以用运算赋值模式,例如“$a -= 5”(从变量 $a 的值中减去 5),“$b *= 7”(变量 $b 乘以 7),等等。

还有一个表达式,如果没有在别的语言中看到过的话,可能看上去很奇怪,即三元条件运算符:

$first ? $second : $third

如果第一个子表达式的值是 TRUE (非零),那么计算第二个子表达式的值,其值即为整个表达式的值。否则,将是第三个子表达式的值。

下面的例子一般来说应该有助于理解前、后递增和表达式:

<?php
function  double ( $i )
{
    return  $i * 2 ;
}
$b  =  $a  =  5 ;         
$c  =  $a ++;           
$e  =  $d  = ++ $b ;      



$f  =  double ( $d ++);   
$g  =  double (++ $e );   
$h  =  $g  +=  10 ;       
?>

一些表达式可以被当成语句。这时,一条语句的形式是 'expr' ';',即一个表达式加一个分号结尾。在“$b=$a=5;”中,$a=5 是一个有效的表达式,但它本身不是一条语句。“$b=$a=5;”是一条有效的语句。

最后一件值得提起的事情就是表达式的真值。在许多事件中,大体上主要是在条件执行和循环中,不要专注于表达式中明确的值,反而要注意表达式的值是否是 TRUE 或者 FALSE 。常量 TRUE 和 FALSE (大小写无关)是两种可能的 Boolean 值。如果有必要,一个表达式将自动转换为 Boolean。参见类型强制转换一节。

PHP 提供了一套完整强大的表达式,而为它提供完整的文件资料已经超出了本手册的范围。上面的例子应该为你提供了一个好的关于什么是表达式和怎样构建一个有用的表达式的概念。在本手册的其余部分,我们将始终使用expr 来表示一个有效的 PHP 表达式。

Das obige ist der detaillierte Inhalt vonWas sind Ausdrücke in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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