ホームページ  >  記事  >  バックエンド開発  >  PHPの演算子の優先順位は何ですか?

PHPの演算子の優先順位は何ですか?

青灯夜游
青灯夜游オリジナル
2019-10-16 13:41:035662ブラウズ

演算子の優先順位は、2 つの式がどの程度「緊密に」結合されるかを指定します。たとえば、乗算記号 ("*") はプラス記号 (" ") よりも優先されるため、式 1 5 * 3 は 18 ではなく 16 と評価されます。必要に応じて、括弧を使用して優先順位の変更を強制できます。例: (1 5) * 3 の値は 18 です。

PHPの演算子の優先順位は何ですか?

演算子の優先順位によって演算の順序が決まります。演算レベルが高いものが最初に計算されます。優先順位が同じ場合、演算子の組み合わせの方向によって演算の順序が決まります。操作する。括弧を使用すると、優先順位の変更を強制できます。

演算子の優先順位は高いものから低いものまで次のとおりです。

#Noneclone newclone と newleft [right — ~ (int) (float) ( string ) (array) (object) (bool) @型と増分/減分NoneinstanceofType 右!論理演算子左* / % ##left – .算術演算子と文字列演算子left10e3fdaca48eb0367c6d60dbc98f885d>ビット演算子なし= = != === !== a8093152e673feb7aba1828c43532094比較演算子左&ビット演算 記号と参照 left#ビット演算子left|ビット演算子&& ##left|| 論理演算子left? :三項演算記号右= = -= *= /= .= %= &= |= ^= 639513f5eb9d8dcbce09d6b5cb44cf73>= => ;代入演算子leftand論理演算子leftxor論理演算子leftまたは論理演算子left、 例: 方向の結合
<?php 
$a = 3 * 3 % 5; // (3 * 3) % 5 = 4 
$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2 
$a = 1; 
$b = 2; 
$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5 
// mixing ++ and + produces undefined behavior 
$a = 1; 
echo ++$a + $a++; // may print 4 or 5 
?>
結合方向 演算子 追加情報
array()
#算術演算子
##left
論理演算子
は、演算子を同じ優先順位でペアにするために多くの場所で使用されます。左の結合方向は、評価が左から右になることを意味します。正しい関連方向はその逆を意味します。結合方向のない同じ優先順位を持つ演算子は、それ自体と結合できない可能性があります。
注: 厳密に必須ではない場合でも、かっこを使用すると、多くの場合、コードが読みやすくなります。

=

の優先順位は他のほとんどの演算子よりも低いですが、PHP では引き続き次のような式が許可されています。 if (!$a = foo())、この場合は foo( の戻り値) が $a に代入されます。

以上がPHPの演算子の優先順位は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。