PHP 演算子の優先順位を読むと、マニュアルの例は理解できますが、これは少し理解するのが難しいです
リーリーPHP 演算子の優先順位を読むと、マニュアルの例は理解できますが、これは少し理解するのが難しいです
リーリー
php.netの手順を参照してください。
私の翻訳(悪い)
ドット演算子と
+
,-
は同じ優先順位を持ち、これらを混合して使用すると、予期しない効果が生じる可能性があります。
として
リーリー上記の結果は、期待される結果ではなく、3を出力します6
ドット演算子と +
, -
具有相同的优先级, 所有上述运算"Result: " . $var + 3;
会先计算字符串Result
和变量$var
は同じ優先順位を持っているため、上記のすべての操作 "Result: " . $var + 3;
は、最初に文字列 Result
と変数 $var の結果は
Resuklt3
次に Resuklt3
和数字3
の結果と数値 3
を計算します。空でない非数値文字列と整数は計算中に 0 に変換されるため、結果は 3
似ているecho "5+1". 1+5;
这个也一样, 先计算"5+1". 1
得到一个字符串5+11
,(注意这是字符串), 在和数字5
作加法运算, 字符串5+11
转换为数字 = 5, 再加上5
结果为10
答えは非常に簡単です。文字列の連結 .
的优先级比运算符+
の問題を 4 つの例で示します。
まず、PHPでは足し算に使用する変数が数値型ではない場合、まず数値型に変換され、文字列「1+15」は数値の1に変換されます。
これらの項目の結果は明らかです:
追加:
文字列連結子 . と算術演算子 +- は同じ優先順位を持ち、同じレベルにあります。バインド方向は左、つまり左から右に計算されます。参照リンク
そのため、最初に文字列の連結が実行され、次に加算演算が実行されます。