instanceof を否定する正しい形式はどれですか?
if ( ! $a instanceof stdClass)
また
if ( ! ($a instanceof stdClass) )
おそらく数年前のブログ記事を読んだ後、後者が正しい方法であると確信しましたが、いくつかのコマンドラインテストの後、どちらも同等に見えます。彼らですか?
instanceof を否定する正しい形式はどれですか?
if ( ! $a instanceof stdClass)
また
if ( ! ($a instanceof stdClass) )
おそらく数年前のブログ記事を読んだ後、後者が正しい方法であると確信しましたが、いくつかのコマンドラインテストの後、どちらも同等に見えます。彼らですか?
ドキュメントを読みましょう:
次の表に、優先順位の高い順に演算子を示します。[...]
Associativity Operators Additional Information
================== =============== ======================
non-associative instanceof types
right ! logical
したがってinstanceof
、優先度が高いため、両方のステートメントは同等です。かっこはおそらくそれを明確にするために使用されるので、ドキュメントで調べる必要はありません。
それらは同等ですか?
はい、論理的には同等です。アルバロG.ヴィカリオの回答は、その理由を詳しく説明しています。
のインスタンスを否定するための正しい形式はどれですか?
2つのうち、次の方が読みやすいという議論があります。しかし、単一の方法はありません。それがPHPの美しさと呪いです。
!($a instanceof stdClass)