演算子は操作の識別子です。 PHP 演算子は一般に、算術演算子、代入演算子、比較演算子、三項演算子、論理演算子、文字列連結演算子、エラー制御演算子、インクリメント演算子およびデクリメント演算子、配列演算子に分類されます。
+(加法) $x + $y-(减法) $x - $y*(乘法) $x * $y/(除法) $x / $y%(求模) $x % $y
PHP には、直接代入 "=" と参照代入 "&" の 2 種類があります。
[1]直接代入
直接代入「=」は、右側の式の値を左側のオペランドに割り当てます。右側の式の値をコピーし、左側のオペランドに与えます。つまり、最初に左オペランドのメモリを申請し、次にコピーした値をこのメモリに置きます
x = yx += yx -= yx *= yx /= yx %= y
[2] 参照代入
参照代入 & は 2 つの変数を意味します すべて同じデータを指します。 2 つの変数が 1 つのメモリを共有するようになります。このメモリに格納されているデータが変更されると、両方の変数の値が変更されます。
<?php $a = "测试内容1"; $b = $a; $c = &$a; $a = "测试内容2"; echo $b."<br />";//测试内容1 echo $c."<br />";//测试内容2?>
比較演算子。 main 比較演算の実行に使用されます
== 等于 === 全等!= 不等<> 不等!== 不全等> 大于< 小于>= 大于等于<= 小于等于
<?php $a = 1; $b = "1"; var_dump($a == $b); echo "<br />";//bool(true) var_dump($a === $b); echo "<br />";//bool(false) var_dump($a != $b); echo "<br />";//bool(false) var_dump($a <> $b); echo "<br />";//bool(false) var_dump($a !== $b); echo "<br />";//bool(true) var_dump($a < $b); echo "<br />";//bool(false)?>
"?:"三項演算子は、式 (expr1)?(expr2 ):( expr3)、expr1 の値が true の場合、この式の値は expr2、それ以外の場合は expr3 です
<?php $a = 78;//成绩 $b = $a >=60?"及格":"不及格"; echo $b;//及格?>
論理演算子は主に論理演算 < を実行するために使用されます。 🎜>
and 与or 或xor 异或&& 与|| 或! 非
<?php $a = TRUE; //A同意 $b = TRUE; //B同意 $c = FALSE; //C反对 $d = FALSE; //D反对 echo ($a and $b);//1 echo "<br />"; echo ($a or $c);//1 echo "<br />"; echo($a xor $c xor $d);//1 echo "<br />"; echo(!$c ? "通过" :"不通过");//通过 echo "<br />"; echo($a && $d ? "通过":"不通过");//不通过 echo "<br />"; echo ($b || $c || $d ? "通过":"不通过");//通过?>
[1] 連結演算子 ( .)
<?php $a = 'hello'; $b = $a . ' world!'; //hello world! echo $b;?>
<?php $x = 'hello'; $x .= ' world!'; //hello world! echo $x;?>
[注] エラー制御プレフィックス @ は解析をマスクしません。エラー情報を関数やクラスの定義の前に置くことはできません。また、if や foreach などの条件構造で使用することもできません。
<?php$a = 1;echo @ $a;//1$b;echo @ $b;//不报错?>
++$x 前递增$x++ 后递增--$x 前递减$x-- 后递减
<?php$x=10; echo ++$x; // 输出 11$y=10; echo $y++; // 输出 10$z=5;echo --$z; // 输出 4$i=5;echo $i--; // 输出 5?>
+ 联合== 相等=== 全等!= 不相等<> 不相等!== 不全等
<?php$x = array("a" => "red", "b" => "green"); $y = array("c" => "blue", "d" => "yellow"); $z = $x + $y; var_dump($z);//array(4) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue" ["d"]=> string(6) "yellow" } echo "<br>";var_dump($x == $y);//bool(false)echo "<br>";var_dump($x === $y);//bool(false)echo "<br>";var_dump($x != $y);//bool(true)echo "<br>";var_dump($x <> $y);//bool(true)echo "<br>";var_dump($x !== $y);//bool(true)?>