Home >Backend Development >PHP Tutorial >Learn PHP operators on the front end, learn PHP operators_PHP tutorial
Operators are identifiers for performing operations. PHP operators are generally divided into arithmetic operators, assignment operators, comparison operators, ternary operators, logical operators, string concatenation operators, error control operators , increment and decrement operators and array operators
+<span>(加法) </span><span>$x</span> + <span>$y</span> -<span>(减法) </span><span>$x</span> - <span>$y</span> *<span>(乘法) </span><span>$x</span> * <span>$y</span> /<span>(除法) </span><span>$x</span> / <span>$y</span> %<span>(求模) </span><span>$x</span> % <span>$y</span>
There are two types of assignment operators in PHP, namely direct assignment "=" and reference assignment "&"
[1] Direct assignment
Direct assignment "=" assigns the value of the expression on the right to the operand on the left. It copies the value of the expression on the right and gives it to the operand on the left. In other words, first apply for a memory for the left operand, and then put the copied value into this memory
x =<span> y x </span>+=<span> y x </span>-=<span> y x </span>*=<span> y x </span>/=<span> y x </span>%= y
[2] Reference assignment
Reference assignment & means that both variables point to the same data. It will make two variables share a memory. If the data stored in this memory changes, the values of both variables will change
<?<span>php </span><span>$a</span> = "测试内容1"<span>; </span><span>$b</span> = <span>$a</span><span>; </span><span>$c</span> = &<span>$a</span><span>; </span><span>$a</span> = "测试内容2"<span>; </span><span>echo</span> <span>$b</span>."<br />";<span>//</span><span>测试内容1</span> <span>echo</span> <span>$c</span>."<br />";<span>//</span><span>测试内容2</span> ?>
Comparison operators are mainly used to perform comparison operations
==<span> 等于 </span>===<span> 全等 </span>!=<span> 不等 </span><><span> 不等 </span>!==<span> 不全等 </span>><span> 大于 </span><<span> 小于 </span>>=<span> 大于等于 </span><= 小于等于
<?<span>php </span><span>$a</span> = 1<span>; </span><span>$b</span> = "1"<span>; </span><span>var_dump</span>(<span>$a</span> == <span>$b</span><span>); </span><span>echo</span> "<br />";<span>//</span><span>bool(true)</span> <span>var_dump</span>(<span>$a</span> === <span>$b</span><span>); </span><span>echo</span> "<br />";<span>//</span><span>bool(false)</span> <span>var_dump</span>(<span>$a</span> != <span>$b</span><span>); </span><span>echo</span> "<br />";<span>//</span><span>bool(false)</span> <span>var_dump</span>(<span>$a</span> <> <span>$b</span><span>); </span><span>echo</span> "<br />";<span>//</span><span>bool(false)</span> <span>var_dump</span>(<span>$a</span> !== <span>$b</span><span>); </span><span>echo</span> "<br />";<span>//</span><span>bool(true)</span> <span>var_dump</span>(<span>$a</span> < <span>$b</span><span>); </span><span>echo</span> "<br />";<span>//</span><span>bool(false)</span> ?>
"?:" The ternary operator is a comparison operator. For the expression (expr1)?(expr2):(expr3), if the value of expr1 is true, then the value of this expression is expr2 , otherwise expr3
<?<span>php </span><span>$a</span> = 78;<span>//</span><span>成绩</span> <span>$b</span> = <span>$a</span> >=60?"及格":"不及格"<span>; </span><span>echo</span> <span>$b</span>;<span>//</span><span>及格</span> ?>
Logical operators mainly perform logical operations
<span>and 与 or 或 xor 异或 </span>&&<span> 与 </span>||<span> 或 </span>! 非
<?<span>php </span><span>$a</span> = <span>TRUE</span>; <span>//</span><span>A同意</span> <span>$b</span> = <span>TRUE</span>; <span>//</span><span>B同意</span> <span>$c</span> = <span>FALSE</span>; <span>//</span><span>C反对</span> <span>$d</span> = <span>FALSE</span>; <span>//</span><span>D反对</span> <span>echo</span> (<span>$a</span> and <span>$b</span>);<span>//</span><span>1</span> <span>echo</span> "<br />"<span>; </span><span>echo</span> (<span>$a</span> or <span>$c</span>);<span>//</span><span>1</span> <span>echo</span> "<br />"<span>; </span><span>echo</span>(<span>$a</span> xor <span>$c</span> xor <span>$d</span>);<span>//</span><span>1</span> <span>echo</span> "<br />"<span>; </span><span>echo</span>(!<span>$c</span> ? "通过" :"不通过");<span>//</span><span>通过</span> <span>echo</span> "<br />"<span>; </span><span>echo</span>(<span>$a</span> && <span>$d</span> ? "通过":"不通过");<span>//</span><span>不通过</span> <span>echo</span> "<br />"<span>; </span><span>echo</span> (<span>$b</span> || <span>$c</span> || <span>$d</span> ? "通过":"不通过");<span>//</span><span>通过</span> ?>
The string concatenation operator is used to concatenate two strings
[1] Concatenation operator (.)
<?<span>php </span><span>$a</span> = 'hello'<span>; </span><span>$b</span> = <span>$a</span> . ' world!'<span>; </span><span>//</span><span>hello world!</span> <span>echo</span> <span>$b</span><span>; </span>?>
[2] Concatenation assignment operator (.=)
<?<span>php </span><span>$x</span> = 'hello'<span>; </span><span>$x</span> .= ' world!'<span>; </span><span>//</span><span>hello world!</span> <span>echo</span> <span>$x</span><span>; </span>?>
PHP provides an error control operator @. For some expressions that may cause errors during operation, and you do not want the error message to be displayed when an error occurs, place @ before a PHP expression. If the track_error feature is activated, any error messages generated by the expression are stored in the variable $php_errormsg, which will be overwritten on each error
[Note] The error control prefix @ will not block parsing error information. It cannot be placed before the definition of a function or class, nor can it be used in conditional structures such as if and foreach.
<?<span>php </span><span>$a</span> = 1<span>; </span><span>echo</span> @ <span>$a</span>;<span>//</span><span>1</span> <span>$b</span><span>; </span><span>echo</span> @ <span>$b</span>;<span>//</span><span>不报错</span> ?>
++<span>$x</span><span> 前递增 </span><span>$x</span>++<span> 后递增 </span>--<span>$x</span><span> 前递减 </span><span>$x</span>-- 后递减
<?<span>php </span><span>$x</span>=10<span>; </span><span>echo</span> ++<span>$x</span>; <span>//</span><span> 输出 11</span> <span>$y</span>=10<span>; </span><span>echo</span> <span>$y</span>++; <span>//</span><span> 输出 10</span> <span>$z</span>=5<span>; </span><span>echo</span> --<span>$z</span>; <span>//</span><span> 输出 4</span> <span>$i</span>=5<span>; </span><span>echo</span> <span>$i</span>--; <span>//</span><span> 输出 5</span> ?>
Used to compare arrays
+<span> 联合 </span>==<span> 相等 </span>===<span> 全等 </span>!=<span> 不相等 </span><><span> 不相等 </span>!== 不全等
<?<span>php </span><span>$x</span> = <span>array</span>("a" => "red", "b" => "green"<span>); </span><span>$y</span> = <span>array</span>("c" => "blue", "d" => "yellow"<span>); </span><span>$z</span> = <span>$x</span> + <span>$y</span><span>; </span><span>var_dump</span>(<span>$z</span>);<span>//</span><span>array(4) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue" ["d"]=> string(6) "yellow" } </span> <span>echo</span> "<br>"<span>; </span><span>var_dump</span>(<span>$x</span> == <span>$y</span>);<span>//</span><span>bool(false)</span> <span>echo</span> "<br>"<span>; </span><span>var_dump</span>(<span>$x</span> === <span>$y</span>);<span>//</span><span>bool(false)</span> <span>echo</span> "<br>"<span>; </span><span>var_dump</span>(<span>$x</span> != <span>$y</span>);<span>//</span><span>bool(true)</span> <span>echo</span> "<br>"<span>; </span><span>var_dump</span>(<span>$x</span> <> <span>$y</span>);<span>//</span><span>bool(true)</span> <span>echo</span> "<br>"<span>; </span><span>var_dump</span>(<span>$x</span> !== <span>$y</span>);<span>//</span><span>bool(true)</span> ?>