Nullに設定された既存のクエリ文字列パラメーターと欠落しているパラメーターを区別できるようにしたい。したがって、質問の部分は次のとおりです。
ありがとう
または array_key_exists
:
if(array_key_exists("myParam", $_GET)) {
}
空の値をサーバーに渡すための「規約」に熱心ではありませんでした。たとえば、変数の存在をテストしてから、それらをトリミングして空かどうかをテストすることに慣れています。
$_GET
および$_POST
に格納されている値は、実行時に明示的に設定されていない限り、文字列または配列のみです。 query=string
のクエリ文字列がある場合、値は"string"
です。代わりに次を使用すると、query=null
の値は"null"
になります。そのため、文字列であることに注意してください。
送信する場合:query=
、値は""
または空の文字列になります。 isset
とempty
の間の differences に注意してください。値がnullでない場合、isset
はtrueになりますが、値がempty
と評価された場合、false
はtrueになります。したがって、""
はbothisset
とempty
の両方に対してtrueになります。
クエリ文字列パラメータが"null"
の文字列値に設定されているかどうかを確認するだけの場合は、$_GET['query']=='null'
を確認するだけです(確認前に文字の大文字と小文字を調整することができます)。
2つではなく1つのifステートメントで:
if ((isset($_REQUEST['name'])) && (!empty($_REQUEST['name'])))
{
$name= $_REQUEST['name'];
}