0

ユーザーがアクセスした URL を知りたい。たとえば、ユーザーがアクセスした場合:

index.php?登録

「1」がエコーされます。

if (isset($_GET))
{
    switch ($_GET)
    {
        case "register":
            echo 1;
        break;
    }
}

しかし、それは何もしません、なぜですか?最初の GET 要素の名前を取得するにはどうすればよいですか?

4

4 に答える 4

4

$_GET配列です。その switch ステートメントを foreach ループ内に配置する必要があります。

foreach ($_GET as $k => $v) {
    switch ($k) {
        case 'register':
            echo 1;
        break;
    }
}

また、$_GETスーパーグローバルは常に設定されています – 必要はありませんif (isset($_GET)) {

于 2013-07-17T13:59:47.843 に答える
3

を使用array_keys()して各 $_GET のキーを取得し、 を使用0 indexして最初のキーで何をしたいかを決定できます。

if($_GET){
    $keys = array_keys($_GET);
    switch ($keys[0]){
        case "register":
            echo 1;
        break;
    }   
}
于 2013-07-17T14:06:59.240 に答える
1

$_GETスーパーグローバル配列です。常に設定され、常に配列です。

registerそれが常に最初の GET 要素になることがわかっている場合は、次のようにすることができます。

reset($_GET);
switch (key($_GET)){
    case "register":
        echo 1;
    break;
}

のドキュメントkey(): http://php.net/key

于 2013-07-17T14:04:04.367 に答える
-3

$_GET は連想配列なので、key=value要素で構成されています

次の URL を使用できます:index.php?page=register次のコード:

if (isset($_GET['page']))
{
    switch ($_GET['page'])
    {
        case "register":
            echo 1;
        break;
    }
}

または、この URL で次のindex.php?registerコードを使用します。

foreach ($_GET as $key => $value) {
    switch ($key) {
        case 'register':
            echo 1;
        break;
    }
}
于 2013-07-17T14:00:08.107 に答える