2016-05-30 3 views
2

私は初心者としてPHP開発を学んでいますが、ifetとifの使い方について質問したいと思います。ここでは、2つのコード:if文の中のかっこの使用

if ((isset($_GET['id'])) && (is_numeric($_GET['id']))) 

そして:最初の部分で

if (isset($_GET['s']) && is_numeric($_GET['s'])) 

isset()is_numeric()は、一連の追加の内側にある

は、任意のこれらの2つのコードの断片との間に違いがあります括弧。

しかし、2番目の数字はif()のかっこ内にあります。

最初のスニペットと2番目のスニペットに違いはありますか?

ご理解とご協力をよろしくお願いいたします。

+4

いいえ、ありません。それは単にリターンをカプセル化しているだけです。 – Darren

+1

これは、条件をグループ化する場合にのみ有効です。 ($ _ GET ['id']))&& is_numeric($ _ GET ['id']))、それ以外の場合は何も変更しません –

答えて

5

いいえ、違いはありません。

追加の括弧((...))の目的は、計算のように、特定のの操作順序を指定することです。一般的なルールとして、あまりにも多くの括弧を使用すると、何も悪いことは起こりませんが、コードを少しだけ明確にすることができます。あなたが書いた2つのコードスニペットはまったく同じことを行います。私は2番目の例がよりクリーンだと思います。あなたがそれらを必要とするのはここ

です:

if ((conditionA || conditionB) && (conditionC || condition D)) { 
    ... 
} 

彼らはまた、数学的な表現を中心に明快さを追加することができます。

これらの式の
$x = $y * 7 + 3/2; 

$x = ($y * 7) + (3/2); 

はどちらもまったく同じことを行うが、括弧はにそれが容易になります操作の順序を覚えることなく、何が起こっているのかを見てください。

時には、あなたは操作の異なる順序を使用したい、とあなたはそれらを必要とする:

$x = $y * (7 + 3)/2; 
+0

完全にそこに記載されています@意志! – Darren

+1

ありがとう! :) – Will

関連する問題