2009-08-11 9 views
8

私は、PHPのコードの一部につまずいに起こっていないと著者は比較に等しくないを行うために<>を使用見ることができる:はなぜPHPは2事業者「と等しくない」

if ($variable <> "") { 
    echo "Hello, I am having some value"; 
} 

私はいつも!=を使用している:私は!=<>を使用する必要があるとき

if ($variable != "") { 
    echo "Hello, I am having some value"; 
} 

は、特別な事情が、ありますか?

+1

はあなたが行うことができます知っていたことはありません。<>私が見ああ...少なくとも「いくつかがある – dassouki

答えて

3

は、私はそれがいくつかの他の言語に存在しているので、<>は、オペレータが

両方<>と= ほとんどまったく同じ意味(SQL例えば、)PHPで実装されてきたと思います。私は見つけることができた唯一の違いは、その優先度に関連している:Operator Precedenceを参照してください。彼らは、同じ行^^ 上にない(差がありますを意味し、やっぱ、これら二つの間)

けれども、私がする必要があります私はnがあることを認めますPHPで使用されている<>を見たことがあります。人々は一般的に使用

注=!。おそらく同じことをする必要があります:それはあなたのコードを理解しやすくします。

また、型の比較も行う!==演算子があります。 Comparison Operators

+0

私はコードを分かりやすくすることに関してあなたに同意します。 – TigerTiger

+0

実際には、私はトンを告白しています:私は 'PHPで演算子があったことを覚えています^^私はあなたのコードをテストしてもうまくいっています^^いくつかのソースコードでは、 (私はずっと前にマニュアルでそれを見ていたと思うが...覚えていない^^) –

+1

彼らは*** [同じ行にある](http://php.net/ manual/en/language.operators.precedence。php)(彼らがあなたが答えたときに彼らは異なる優先順位を持っていたかもしれません)。 –

4

PHPが最初に開発されたとき、設計目標の1つは言語を柔軟にすることだったと思います。そのため、すべてのループタイプと考えられるすべての演算子型がもたらされました。

<>は、!=in terms of precedenceカテゴリとわずかに異なりますが、それらの間にある演算子は実際には何の違いもないことを意味します。

3

良い質問。微妙な違いを除けば同じです:<> has higher precedence than !=

どうしてですか?あなたがどのように期待しているかを動作させるだけです。 PHPは借用されたアイデアのミッシュマッシュであり、Cプログラマが$foo != $barを好むかもしれない場合、基本的な背景を持つ誰かが$foo <> $barを目で見やすくするかもしれません。それぞれ自分に!

+0

PHPで:が、参照としてその^^


ようには< < >>オペレータまたは何もありません"違い。 ;-) – TigerTiger

関連する問題