1. 算術演算
算術演算子は実際には小学校で加算、減算、乗算、除算です:
例:
<?php //声明变量 $x = 16; $y = 5; //加 echo $x+$y; echo "<br/>"; //减 echo $x-$y; echo "<br/>"; //乘 echo $x*$y; echo "<br/>"; //除 echo $x/$y; echo "<br/>"; //取余 echo $x%$y; echo "<br/>"; //综合运算 echo ($x+$y)*$x; echo "<br/>"; ?>
注: 数学で学んだように、乗算という優先順位もあります。最初に除算、次に加算および減算を行います。より明確に優先順位を変更したい場合は、優先させたい値を()[括弧]で囲んでください
2.代入演算
数学では = ( (等号) ) は代入演算子と呼ばれ、等号の右側の値が等号の左側の変数に代入され、左側の変数が右側の値になります。
コードは上から下に実行されるため、割り当ては上から下に繰り返すことができます:
例:
<?php //给变量赋不同的值,观察最后的输出结果 $x = 5; $x = true; $x = '爱你'; $x = 12.888; echo $x; ?>
$x が繰り返し割り当てられ、後続の割り当てによって以前に割り当てられた値が上書きされることがわかります。出力は最後の割り当てです。
PHP には他にもいくつかの拡張代入がありますが、それらはすべて代入 (=)
3 の自己インクリメントと自己減算の操作
から発展したものです。自分自身に 1 を加えるか、マイナス 1 します。
上の表の
$x++ と ++$x の違いを理解しましょう。 例:
<?php $x = 5; $y = 5; //先赋值后加:即先将$x的值赋值给$z。$x的值为5,所以将$x的值赋值给$z,$z也为5 //之后$x再自己加一 $z = $x++; //先将$y自加1,$y等于5,自加1后结果为6。因此,$y的结果为6 //自加后,再将结果6偷偷的赋值给自己$w $w = ++$y; echo 'x的值为'.$x; echo "<br/>"; echo 'y的值为'.$y; echo "<br/>"; echo 'z的值为'.$z; echo "<br/>"; echo 'w的值为'.$w; echo "<br/>"; ?>
注: $x-- と --$x の違いを試してみることができます。
PHP の比較演算子は、比較後、true または false のブール値を返します。
例を見てみましょう
例:
rrree上記は一般的であり、理解の混乱を引き起こしやすいですが、 == と ===
==
=== 全て等しい、判定タイプとも呼ばれます
を見てみましょう。例:
Example
<?php $x=2; $y=4; var_dump($x>$y); echo "<br/>"; var_dump($x<$y); ?>
上記の例からわかるように、 == は、左と右の数値が等しいかどうかを比較するだけではありません。値が等しいだけでなく、型が等しいかどうかも比較します。
注意:! = (等しくない) そして! == についても同様です (すべてが等しくない) 出力を試して確認してください
論理演算子は比較的単純で、人間が論理的に考える方法です
$x を仮定します。は条件 1、$y は条件 2 です
論理否定: 否定の中国語の説明。 $x が false の場合、非操作を実行します。偽(false)でない場合は真であり、真(true)を返すことができます。 true を反転すると false が返されます。
論理 XOR: $x と $y が同じ場合は false、同じでない場合は true
詳細については下の表を参照してください
見てみましょう例:
<?php $x=3; $y="3"; var_dump($x==$y); echo "<br/>"; var_dump($x===$y); ?>
6 ビット演算
ビットごとの演算子は、バイナリに基づいてビットの論理比較を実行します
例:
<?php $x=1; $y=0; var_dump($x&&$y); echo "<br/>"; var_dump($x||$y); echo "<br/>"; var_dump(!$x); echo "<br/>"; var_dump($x xor $y); echo "<br/>"; ?>
注: 1 つの例のみがリストされています。自分で出力を試して結果を確認してください
7. 演算子の優先順位
この章の学習レベルは理解レベルです。
ほとんどの人は演算子の優先順位を覚えていないからです。
私たちが小学生の頃は、まず掛け算と割り算、次に足し算と引き算が優先でした。操作の優先順位を変更したい場合は、括弧を追加するだけです。
キーポイント: 優先順位を覚えておく必要はありません。不明な場合は、優先順位を括弧内に入力してください。
注: 興味がある場合は、優先順位の詳細な説明が記載されている PHP マニュアルを参照してください。
8. 三項演算子とその他の演算子
特殊な演算子や記号もありますので、改めて説明します。おそらく将来的にはそれを使用する必要があるでしょう
1. 三項演算子
は、次の章で学習する if...else 構造と同等です。ただし、三項演算子はより簡潔に記述されており、構文形式は次のとおりです:
$x が true かどうかを判断しますか? true の場合に実行されるコード セグメント (コードは 1 つしか記述できません): true の場合に実行されるコード セグメントは false (コードは 1 つしか記述できません) ;
例:
<?php //$x二进制值为:0101 $x = 5; //$y二进制值为:1000 $y = 8; //0101与1000诸位进行与运算,两个都是1个则为1,其他都为0 // 0101 // 1000 //———————————— //结果 0000 var_dump($x & $y); ?>
2. バックティック
PHP で Windows の IP アドレスを表示することは可能ですか?バッククォートを使用すると、コマンドを実行できます (ただし、一部の仮想サーバーではこれらのコマンド スクリプトの実行が禁止されています):
ソース コード:
<?php $x = true; $x ? $y = 5 : $y = 6; //输出5 echo $y; ?>
出力結果:
注: バッククォートは、キーボード、Tab キーの上
3.@ 記号
は、後の章で
の例についても説明します。 ソース コードは次のとおりです。
@<?php echo '<pre>'; echo `ipconfig`; echo '</pre>'; ?>を追加した後、出力や警告はありません。 @ 記号がエラーを抑制していることがわかります