2016-08-02 7 views
-2

違いは何ですか?どちらが優れていますか?phpでisset関数を正しく使うには?

この1:

if(isset($_POST['name'])){ 

} 

か、この1:

$name = $_POST['name']; 
if(isset($name)){ 

} 

私は2つのコードの間に違いがあるかどうかを知りたい、そして使用する方が効率的です。前もって感謝します!

+0

最初の1が正しいそれはPOST配列 – RamRaider

+0

で定義されていない場合、後者はエラーになります@RamRaiderありがとうございます。今私は知っている。どうもありがとう。 – Jjjjjjjjjj

答えて

3

こんにちは最初のものは、これは$_POST['name']をチェックします

if(isset($_POST['name'])){ 

} 

右で設定するか、またはされていません。

しかし

$name = $_POST['name']; 
if(isset($name)){ 

} 

これは$nameをチェックしますが設定されたりされていません。 $_POST['name']に値があるかどうかは$nameと宣言しているため、内部に入ります。これは間違った結果をもたらすでしょう

+0

ありがとう! – Jjjjjjjjjj

+0

@Jjjjjjjj歓迎:) – user1234

+1

@Jjjjjjjjj答えがあなたの問題を解決する場合は、upv​​oteとそれを選択することを忘れないでください。 – BeetleJuice

0

これらの2つのコードは同じことを行います。変数が設定されているかどうかをチェックします。

いずれの場合も、$_POST['name']が設定されているかどうかを確認します。効率を求めている場合は、新しい変数を作成してデータを処理するために、常により多くのリソースが使用されるため、最初の変数を使用する必要があります。

+0

変数が定義されていないと、後者はエラーを返します。 –

+0

もちろん、それは彼の質問のポイントではありません。彼はこれらの2つの条件の違いと、どちらがより効率的であるかを知りたいと考えています。実際には、同じことをします:$ _POST ['name']がセットされているかどうかを確認してください。 – tomfl

+0

あなたは明らかに、宇宙の残りの部分と "同じ"という異なる定義を持っています。 –

2

より良いまだ:

$name = isset($_POST['name']) ? $_POST['name'] : 'empty'; 
関連する問題