0

何度も、さまざまな種類のコードをさまざまな言語で書こうとしました。私がこのようなものを書き込もうとしたとき:

if (!isset($_GET[""])) $_GET[""] = false;

コンパイラはエラーを報告しません。OK、変数名なしでこの構造があります。この構造を実際に使用する1つの方法はありますか? ナンセンスだと思います。

次のように、実際に使用できるのは$_GETだけだと思います。

if (count($_GET) > 0) do something
4

4 に答える 4

2

$_GET[""] の使いやすさについて話している場合は、URL を使用して設定することはできません。

URL にアクセスtest.php?=3すると、空が表示されます。$_GET

URLにアクセスすると、次のtest.php?""=3方法でアクセスできます。$_GET["\"\""]

そのため、URL に変数を設定して取得する方法はありません。$_GET[""];

ただし、コードからキーを空の文字列に設定できます。

$_GET[""] = 3;
echo $_GET['']; // 3
echo $_GET[""]; // 3
于 2013-01-21T08:33:23.460 に答える
0

empty($_GET)私のためにここでcount($_GET)働いています!

于 2013-01-21T08:27:49.060 に答える
0

このコードで何を達成したいのか理解できません:

if (!isset($_GET[""])) $_GET[""] = false;

PHP が空の文字列を配列キーとして割り当てることが可能で、次のようにアクセスできます。

$array[0]['']

チェックのために、たとえば次のような関数を使用できます。

function GET($key, $default = null) {
    return isset($_GET[$key]) ? $_GET[$key] : $default;
}
于 2013-01-21T08:31:46.810 に答える
0

「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();
}

これは、さらなる検証が必要な単純な例にすぎません。

于 2013-01-21T08:34:18.180 に答える