もちろん記載されていない種類もいくつかありますが、それについては後述します。最初にリストされたものを見てみましょう。 上記の演算子に特別な命令がない場合、それらは C# の演算子と似ています。 まず、ビット演算の左シフト (<<) または右シフト (>>) を見てみましょう。実際には違いはなく、シンボルが異なるだけです。 比較アルゴリズムの「==」と「====」を見てください。これら 2 つの違いは何でしょうか。 コードを見てみましょう: 1 php 2 var_dump ( 0 == " a " ) // 0 == 0 -> true 3 var_dump ( " 1 " == " 01 " ); // 1 == 1 -> true 4 5 switch ( " a " ) { 6 case 0 : 7 echo " 0 " ; 8 Break 9 case " a " : // 到達しない" はすでに 0 と一致しています 10 echo " a " ; 11 Break ; 12 } 2 行目を見てください、なぜ 0 が "a" と等しいのでしょうか?奇妙な。これらが等しい理由は、PHP では整数と文字列を比較すると、文字列が自動的に数値に変換されるためです。ここで疑問が生じます: 文字列を数値に変換する原理は何ですか?原則は次のとおりです。 1) 文字「.」、「e」、または「E」のいずれかが含まれている場合、文字列は浮動小数点として評価されます。それ以外の場合は、整数として扱われます。 :値は文字列の最初の部分によって決まります。文字列が正当な数値データで始まる場合は、その数値が値として使用され、それ以外の場合は値が 0 (ゼロ) になります。有効な数値データはオプションの符号で始まり、その後に 1 つ以上の数字 (オプションで小数を含む)、その後にオプションの指数が続きます。指数は、「e」または「E」の後に 1 つ以上の数字が続きます。例:
1 php 2 $var = 1 + " 10.5 " ; 3 エコー " 1 + " 10.5 " = " 。 $var 。 " ; タイプ: " 。 gettype($var) 。 " " ; 4 $var = 1 + " -1.3e3 " ; 5 echo " 1 + " - 1.3e3 " = " 。 $var 。 " ; タイプ: " 。 gettype($var) 。 " " ; 6 $var = 1 + " bob-1.3e3 " ; 7 echo " 1 + " bob - 1.3e3 " = " 。 $var 。 " ; タイプ: " 。 gettype($var) 。 " " ; 8 $var = 1 + " bob3 " ; 9 echo " 1 + " bob3 " = " 。 $var 。 " ; タイプ: " 。 gettype($var) 。 " " ; 10 $var = 1 + " 10 美しい 鳥 " ; 11 echo " 1 + " 10 美しい 鳥 " = " 。 $var 。 " ; タイプ: " 。 gettype($var) 。 " " ; 12 $var = 4 + " 10.2 リトル アップル " ; 13 echo " 4 + " 10.2 Little Apple " = " 。 $var 。 " ; タイプ: " 。 gettype($var) 。 " " ; 14 $var = " 10.0 豚 " + 1 ; 15 エコー " " 10.0 豚 " + 1= " 。 $var 。 " ; タイプ: " 。 gettype($var) 。 " " ; 16 $var = " 10.0 豚 " + 1.0 ; 17 エコー " " 10.0 豚 " + 1.0= " 。 $var 。 " ; タイプ: " 。 gettype($var) 。 " " ; 18 ?> 19 出た結果: 1 + " 10.5 " = 11.5 ; タイプ: double 1 + " -1.3e3 " =- 1299 ; タイプ: double 1 + " bob-1.3e3 " = 1 ; タイプ: 整数 1 + " bob3 " = 1 ; タイプ: 整数 1 + " 10 の美しい鳥 " = 11 ; type : integer 4 + " 10.2 Little Apple " = 14.2 ; タイプ: double " 10.0 pigs " + 1 = 11 ; タイプ: double " 10.0 pigs " + 1.0 = 11 ; type : double このように、「===」が 1 つあり、3 つが記号に相当し、最後に変換されていない数値の同等を示します。さらに、タイプもこれに相当します。以下を参照してください。 php 2 var_dump ( 0 === " a " ); // 0 === 0 -> false 3 echo ' ' ; 4 var_dump ( 0 === " 00 " ); // 0 === "00" -> false 5 echo ' ' ; 6 var_dump ( 0 === 0 ); // 0 === 0 -> true 7 echo ' ' ; 8 ?> 出结結果: bool( false ) bool( false ) bool( true ) 6 行目は、値が等しいだけでなく、型も同じであるため true です。 3) 論理演算を見ると、実際には「or」と「and」の書き方が 2 つあります。C/C++、C#、Java などの言語を使用する場合は、「&&」または「||」を使用します。 VB を使用している場合は、and および or を使用します。もちろん両方を使用することもできます。それらの違いは何ですか?それはただ優先順位の違いです。 「&&」と「||」は「and」と「or」よりも優先されます。 4).PHP には追加の配列演算子があります。上記の説明を聞けば、それらを信じるのは難しくありません。
代入演算子 C# 言語と同様に、代入に「=」とバイナリ記号を使用します。例: php $a = ' hello ' ; // $a はこんにちは。 $a += 1; // $a は 1、バイナリ代入演算子 $c = ' hello ' ; // $c は "hello world " ; ?> エラー実行演算子 PHP はエラー制御演算子 @ をサポートしています。 PHP 式の前に配置すると、式によって生成されるエラー メッセージは無視されます。 track_errors 機能がアクティブ化されている場合、式によって生成されたエラー メッセージは変数 $php_errormsg に保存されます。この変数はエラーが発生するたびに上書きされるため、使用する場合はできるだけ早く確認してください。例: php /* 意図的なファイル エラー */ $my_file = @ file ( ' non_existent_file ' ) または die ( " ファイルを開けませんでした: エラーは '$php_errormsg' " );これは関数だけでなく、あらゆる式に対して機能します: $value = @ $cache [ $key ]; // インデックス $key が存在しない場合は通知を発行しません 実行演算子。 PHP は、バッククォート (``) という 1 つの実行演算子をサポートしています。これは単一引用符ではないことに注意してください。 PHP は、バックティックで囲まれた内容をシェル コマンドとして実行しようとし、その出力を返します (たとえば、標準出力に単純に破棄するのではなく、変数に割り当てることができます)。バッククォート演算子「`」を使用すると、関数shell_exec()と同じ効果があります。バッククォートは、キーボードの「~」キーの下にあります。例: 1 php 2 $out = ` dir c : `; 3 echo ' ;は: ドライブ C のボリュームにはラベルがありません ボリューム シリアル番号は A019 - 7D77 です C のディレクトリ: 02 / 24 / 2006 10 : 21 PM ダウンロード 02 / 24 / 2006 10 : 09 PMダウンロード 05 / 13 / 2006 07 : 07 PM 220 cmd 02 / 13 / 2006 11 : 40 PM WINDOWS 02 / 13 / 2006 11 : 47 PM ドキュメントと設定 02 / 1 3 / 2006 11 : 午後57時プログラム ファイル 06 / 24 / 2006 11 : 01 PM 482 , 933 nfzmLog . ログ 05 / 11 / 2006 10 : 28 PM Inetpub 05 / 13 / 2006 07 : 07 PM 4 応答 tx t 07/29 /2006 05 :56 PM 0 Rec . pcm 06 / 24 / 2006 09 : 05 PM nf 07 / 29 / 2006 05 : 56 PM 0 WriteAudrv . wav 07 / 04 / 2006 08 : 52 PM dwnSetup 07/08/ 2006年09月:28 AM TEMP 02 / 14 / 2006 12 : 15 AM NVIDIA 5 File (s) 483 , 157 bytes 10 Dir (s) 2 , 116 , 558 , 848 bytes free Increment / Decrement Operator PHP がサポートC style 前後のインクリメントおよびデクリメント演算子。 注: インクリメント/デクリメント演算子はブール値には影響しません。 NULL 値を減分しても効果はありませんが、NULL を増やすと 1 になります。 増加/減少演算子
名前の例 効果 ++$a | | $a プラス 1 を先頭に付けて、$a を返します。 | $a++ | の後に | を実行すると、$a が返され、$a の値に 1 が加算されます。 | --$a | | $a の前に を 1 つデクリメントし、$a を返します。 | $a-- | 減算後の処理 | $a を返し、$a の値をデクリメントする | 型演算子 PHP には、instanceof という型演算子があります。 instanceof は、特定のオブジェクトが指定されたオブジェクト クラスのものであるかどうかを判断するために使用されます。 instanceof 演算子は PHP 5 で導入されました。以前は was_a() が使用されていましたが、is_a() は廃止されたため、instanceof を使用することをお勧めします。 C# ではそうです、Java では PHP と同じ、instanceof です。例: 1 php 2 クラス A { } 3 クラス B { } 4 5 $thing = new A; 6 7 if ( $thing instanceof A) { 8 echo ' A ' ; 9 } 10 if ( $thing instanceof B) { 11 echo ' B ' ; 12 } 13 ?> 文字列演算子は 2 つあります。 1 つ目は連結演算子 (「.」) で、左引数と右引数を連結した文字列を返します。 2 つ目は連結代入演算子 (「.=」) で、右の引数を左の引数に追加します。これらについては以前に見たことがあるので、例は示しません。 |