何度も、さまざまな種類のコードをさまざまな言語で書こうとしました。私がこのようなものを書き込もうとしたとき:
if (!isset($_GET[""])) $_GET[""] = false;
コンパイラはエラーを報告しません。OK、変数名なしでこの構造があります。この構造を実際に使用する1つの方法はありますか? ナンセンスだと思います。
次のように、実際に使用できるのは$_GETだけだと思います。
if (count($_GET) > 0) do something
何度も、さまざまな種類のコードをさまざまな言語で書こうとしました。私がこのようなものを書き込もうとしたとき:
if (!isset($_GET[""])) $_GET[""] = false;
コンパイラはエラーを報告しません。OK、変数名なしでこの構造があります。この構造を実際に使用する1つの方法はありますか? ナンセンスだと思います。
次のように、実際に使用できるのは$_GETだけだと思います。
if (count($_GET) > 0) do something
$_GET[""] の使いやすさについて話している場合は、URL を使用して設定することはできません。
URL にアクセスtest.php?=3
すると、空が表示されます。$_GET
URLにアクセスすると、次のtest.php?""=3
方法でアクセスできます。$_GET["\"\""]
そのため、URL に変数を設定して取得する方法はありません。$_GET[""];
ただし、コードからキーを空の文字列に設定できます。
$_GET[""] = 3;
echo $_GET['']; // 3
echo $_GET[""]; // 3
empty($_GET)
私のためにここでcount($_GET)
働いています!
このコードで何を達成したいのか理解できません:
if (!isset($_GET[""])) $_GET[""] = false;
PHP が空の文字列を配列キーとして割り当てることが可能で、次のようにアクセスできます。
$array[0]['']
チェックのために、たとえば次のような関数を使用できます。
function GET($key, $default = null) {
return isset($_GET[$key]) ? $_GET[$key] : $default;
}
「http://domain.com」のような URL で次のコードをテストすると、
print_r($_GET);
echo '<br>';
if(isset($_GET))
{
echo '$_GET IS SET<br>';
}
if(!empty($_GET))
{
echo '$_GET IS NOT EMPTY<br>';
}
if(count($_GET) > 0)
{
echo '$_GET IS NOT EMPTY<br>';
}
あなたは得るでしょう
Array ( )
$_GET IS SET
それによると、何を確認したり、何をしたいかはあなた次第ですhttp://www.domain.comまたはこれhttp://www.domain.com/indexを実行しても $_GET が常に設定されることに注意してください.php?test=adsf
$_GET[''] = 'smthing' で行ったことは、配列 arr['test'] = 'smthing'; を持つようなものです。$_GET に関しては、空のキーではなく test のキーを指定していませんが、これは適切に処理できません。
あなたが私に尋ねたら、具体的なことを確認する必要があります。
if(isset($_GET['test']) && $_GET['test'] == 'adsf')
{
doSomething();
}
これは、さらなる検証が必要な単純な例にすぎません。