1 Definition Ein
-Operator ist etwas, das bei gegebenem oder mehreren Werten (im Programmierjargon ein Ausdruck) einen anderen Wert erzeugt (somit wird die gesamte Struktur zu einem Ausdruck).
Operatoren können danach gruppiert werden, wie viele Werte sie akzeptieren können:
① Unäre Operatoren können nur einen Wert akzeptieren, z. B. ! (logischer Negationsoperator) oder ++ (Inkrementoperator).
② Binäre Operatoren akzeptieren zwei Werte, wie zum Beispiel die bekannten arithmetischen Operatoren + (Addition) und - (Subtraktion), die die meisten PHP-Operatoren darstellen.
③ Ternärer Operator ? :, akzeptiert drei Werte, die normalerweise einfach als „ternärer Operator“ bezeichnet werden (obwohl es angemessener sein könnte, ihn als bedingten Operator zu bezeichnen).
2 Operatorpriorität
① Die Operatorpriorität gibt an, wie „eng“ zwei Ausdrücke gebunden sind. Beispielsweise ergibt der Ausdruck 1 + 5 * 3 16 statt 18, da das Multiplikationszeichen („*“) eine höhere Priorität hat als das Pluszeichen („+“).
② Bei Bedarf können Sie Klammern verwenden, um eine Änderung der Priorität zu erzwingen. Beispiel: (1 + 5) * 3 hat den Wert 18.
③ Wenn die Operatoren die gleiche Priorität haben, bestimmt die Kombinationsrichtung der Operatoren, wie vorgegangen wird. Zum Beispiel ist „-“ ein Linksgelenk, dann ist 1 – 2 – 3 äquivalent zu (1 – 2) – 3 und das Ergebnis ist –4
④ „=" ist ein Rechtsgelenk, also $ a = $b = $c ist äquivalent zu $a = ($b = $c).
⑤ Nicht kombinierte Operatoren können nicht zusammen verwendet werden. Beispielsweise ist 1 < Andererseits ist der Ausdruck 1 <= 1 == 1 zulässig, da == eine niedrigere Priorität hat als <=.
⑥ Die Verwendung von Klammern, auch wenn dies nicht erforderlich ist, gibt die Reihenfolge der Operationen durch die Paarung von Klammern klar an, anstatt sich auf die Priorität und Assoziativität des Operators zu verlassen, was normalerweise die Lesbarkeit des Codes verbessern kann.
3 Arithmetischer Operator
① Negation Zum Beispiel: -$a repräsentiert den negativen Wert von $a.
② Addition ist wie: $a + $b
③ Subtraktion ist wie: $a - $b
④ Multiplikation ist wie: $a * $b
⑤ Division ist wie: $a / $b
⑥ Nehmen Sie den Modul wie: $a % $b
⑦ Nehmen Sie die Potenzierung wie: $a ** $b
Hinweis:
a Gibt immer eine Gleitkommazahl zurück. Die einzige Ausnahme besteht darin, dass beide Operanden Ganzzahlen (oder aus Zeichenfolgen konvertierte Ganzzahlen) sind und exakt teilbar sind. In diesem Fall wird eine Ganzzahl zurückgegeben.
b. Die Operanden des Modulo-Operators werden vor der Operation in Ganzzahlen umgewandelt (mit Ausnahme des Dezimalteils).
c. Das Ergebnis des Modulo-Operators % ist dasselbe wie das Vorzeichen (Vorzeichen) der Dividende. Das heißt, das Ergebnis von $a % $b hat das gleiche Vorzeichen wie $a
4 Zuweisungsoperator
① Der grundlegende Zuweisungsoperator ist „=". Zuerst könnte man denken, dass es „gleich“ ist, aber das ist nicht der Fall. Es bedeutet eigentlich, den Wert des Ausdrucks rechts dem Operanden links zuzuweisen.
Der Wert des Zuweisungsausdrucks ist der zugewiesene Wert. Das heißt, der Wert von „$a = 3“ ist 3. Auf diese Weise können Sie einige kleine Tricks ausführen:
<?php $a = ($b = 4) + 5; // $a 现在成了 9,而 $b 成了 4。 ?>
② Binäre Arithmetik: Der „Kombinationsoperator“ aus Array-Sammlung und String-Operatoren, sodass sein Wert in einem Ausdruck und dem Ausdruck verwendet werden kann Zuweisen das Ergebnis der Formel dazu
<?php $a = 3; $a += 5; // sets $a to 8, as if we had said: $a = $a + 5; $b = "Hello "; $b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!"; ?>
③ Referenzzuweisung: PHP unterstützt die Referenzzuweisung unter Verwendung der „$var = &$othervar;“-Syntax. Zuweisung per Referenz bedeutet, dass beide Variablen auf dieselben Daten verweisen und nichts kopiert wird.
<?php $a = 3; $b = &$a; // $b 是 $a 的引用 print "$a\n"; // 输出 3 print "$b\n"; // 输出 3 $a = 4; // 修改 $a print "$a\n"; // 输出 4 print "$b\n"; // 也输出 4,因为 $b 是 $a 的引用,因此也被改变 ?>
④ Gesunder Menschenverstand
Die Zuweisungsoperation kopiert den Wert der ursprünglichen Variablen in die neue Variable (Zuweisung nach Wert), sodass sich die Änderung einer Variablen nicht auf die andere auswirkt. Dies eignet sich auch zum Kopieren einiger Werte, z. B. großer Arrays in dichten Schleifen.
5 位运算符
① And(按位与) $a & $b
② Or(按位或) $a | $b
③ Xor(按位异或) $a ^ $b
④ Not(按位取反) ~ $a
⑤ Shift left(左移) $a << $b
⑥ $a >> $b
6 比较运算符
① 等于 $a == $b
② 全等 $a === $b
③ 不等 $a != $b
④ 不等 $a <> $b
⑤ 不全等 $a !== $b
⑥ 小于 $a < $b
⑦ 大于 $a > $b
⑧ 小于等于 $a <= $b
⑨ 大于等于 $a >= $b
⑩ 结合比较运算符 $a <=> $b
7 错误控制运算符
PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。
如果用 set_error_handler() 设定了自定义的错误处理函数,仍然会被调用,但是此错误处理函数可以(并且也应该)调用 error_reporting(),而该函数在出错语句前有 @ 时将返回 0。
如果激活了 track_errors 特性,表达式所产生的任何错误信息都被存放在变量 $php_errormsg 中。此变量在每次出错时都会被覆盖,所以如果想用它的话就要尽早检查。
8 执行运算符
PHP 支持一个执行运算符:反引号(``)。注意这不是单引号!PHP 将尝试将反引号中的内容作为 shell 命令来执行,并将其输出信息返回(即,可以赋给一个变量而不是简单地丢弃到标准输出)。使用反引号运算符“`”的效果与函数 shell_exec() 相同。
<?php $output = `ls -al`; echo "<pre class="brush:php;toolbar:false">$output"; ?>
注:反引号运算符在激活了安全模式或者关闭了 shell_exec() 时是无效的。
9 递增/递减运算符: PHP 支持 C 风格的前/后递增与递减运算符。
① 前加 ++$a
② 后加 $a++
③ 前减 --$a
④ 后减 $a--
10 逻辑运算符
① And(逻辑与) $a and $b
② Or(逻辑或) $a or $b
③ Xor(逻辑异或) $a xor $b
④ Not(逻辑非) ! $a
⑤ And(逻辑与) $a && $b
⑥ Or(逻辑或) $a || $b
11 字符串运算符
有两个字符串(string)运算符。第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数之后。更多信息见赋值运算符。
<?php $a = "Hello "; $b = $a . "World!"; // now $b contains "Hello World!" $a = "Hello "; $a .= "World!"; // now $a contains "Hello World!" ?>
12 数组运算符
① 联合 $a 和 $b 的联合。 $a + $b
② 相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE。 $a == $b
③ 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE。 $a === $b
④ 不等 如果 $a 不等于 $b 则为 TRUE。 $a != $b
⑤ 不等 如果 $a 不等于 $b 则为 TRUE。 $a <> $b
⑥ 不全等 如果 $a 不全等于 $b 则为 TRUE。 $a !== $b
注:+ 运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。
13 类型运算符
instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例:
<?php class MyClass { } class NotMyClass { } $a = new MyClass; var_dump($a instanceof MyClass); var_dump($a instanceof NotMyClass); ?>
以上就是PHP基础 之 运算符的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!