2013-06-08 3 views
12

変数が何かに設定されているかどうかを確認する必要があります。今まで私はstrlen()を使用していましたが、それはが本当に恥ずかしいというように私は確かに非常に有効な機能ではありません。php get変数が何に設定されているかを確認しますか?

どのように私はより効率的にチェックのこのソートを実行します:$_GET['variable'] = ''

はちょうど私が何を意味するか明確にしている場合、私はそれが何を行うにはしたくない

if (strlen($_GET['variable']) > 0) 
{ 
    Do Something 
} 

注 - 私はwww.example.com?variable=&somethingelse=1を持っていた場合を私はそれが声明

+2

この恥ずかしいことではない、あなたが望むように動作し、読解可能で理解できるものです。 –

+0

私が何を意味するかを明確にする - www.example.com?variable=&somethingelse=1を持っていれば、その文に浸透することは望ましくないでしょう –

+0

私は私のスクリプトに恥ずかしくないようにしようとしますが、 ! –

答えて

24

と空白文字あなたはemptyを試すことができます。プラス側では

if (!empty($_GET['variable'])) { 
    // Do something. 
} 

、変数が設定されているかどうか、それはまた、チェックする、すなわち、別々issetを呼び出す必要はありません。

issetに電話をかけていないと混乱があります。 documentationより。

変数が存在しない場合、またはその値がFALSEの場合、変数は空と見なされます。変数が存在しない場合、empty()は警告を生成しません。

と...)(空の意味

は、本質的に!のISSET($のVAR)への簡潔な等価です|| $ var == false。

+3

これは誤っている可能性があるため、間違っています。 [documentation](http://in3.php.net/empty)のisset – Winston

+1

@Winstonを使用します。変数が存在しない場合、またはその値がFALSEの場合、変数は空と見なされます。変数が存在しない場合、empty()は警告を生成しません。 –

+0

あなたは正しいです!申し訳ありません...しかし、早く、もしあなたがこのように書いたら、それは通知を投げるかもしれません。 – Winston

6
if(isset($_GET['variable']) && $_GET['variable']!=""){ 

} 
+2

入力に 'value =" "があるとどうなりますか?issetは真ですがまだ空です – Fabio

+0

そして、Qが望んでいたことです:$ _GETなら何もしたくないことを注記してください[ 'variable'] = '' __ –

+0

@AxelAmthorですが、上記のコードはvalue = ""の場合は何かを行います。これは設定されているので、if条件は 'true'になります。 –

0

場合はisset()のチェックを使用することができますが、私はむしろないためにもチェックすることを浸透したくありません!= ''

if (isset($_GET['variable'])) && ($_GET['variable']) != '') 
2
if(isset($_GET['variable']) && !empty($_GET['variable'])) 
{ 
//Do Something 
} 
+1

'empty'を使う場合は' isset'を呼び出す必要はありません。詳細は私の回答を見るか、[documentation](http://in3.php.net/empty)をチェックしてください。 –

0

方法についてはちょうど

if ($_GET['variable']) 
{ 
    Do Something 
} 
+0

'$ _GET ['variable'] = '0''では動作しません。 –

+0

または多分:if($ _GET ['variable']!= "") –

1

あなただけの任意の$ _GETが設定されている場合、値を知らなくても、チェックしたい場合は、単にの$ _GET配列を数える:

<?php 
if (count($_GET) == 0): 
    // do your stuff 
else: 
    // do your other stuff 
endif; 
?> 
関連する問題