ホームページ >バックエンド開発 >PHPチュートリアル >PHPはGETモードで渡されたすべての変数名と値を取得します

PHPはGETモードで渡されたすべての変数名と値を取得します

WBOY
WBOYオリジナル
2016-06-13 12:54:41866ブラウズ

php は、GET

Foreword

を通じて渡されたすべての変数名と値を取得します。

このブログの要件は、127.0.0.1?a=123&b=456&c=789 などの http リクエストからすべての get パラメーターを抽出し、それらを test.com の後ろに文字列化すること、つまり、最終的な理想的な URI を指定する必要があることです。 test.com?a=123&b=456&c=789

にする必要があります

これを達成するには 2 つの方法があります。Google を持っていないので、再作業が必要になるため、事前に Google で検索することをお勧めします。


$_SERVER["QUERY_STRING"]


はじめに

これは最も簡単な方法ですが、ほとんどの人はこのサーバー変数についてあまり詳しくないかもしれません。説明してください。

$_SERVER["QUERY_STRING"] : 查询的字符串

コード

$base = "test.com";
$str = $_SERVER["QUERY_STRING"];
$uri = $base.$str;
echo $uri;


効果




ループ用の $_GET 配列をつなぎ合わせます


想い

この種の要求に遭遇したとき、ほとんどの人が最初に反応するのは、for ループを使用して配列を取得し、自分で文字列をまとめて、共有するための実装コードを記述することです。


コード

$str = "test.com?";
$count = count($_GET);
$i = 0;

foreach ($_GET as $key => $value) {
    if ($i == $count - 1) {
        $str .= $key . "=" . $value;
    } else {
        $str .= $key . "=" . $value . "&";
    }
    $i ++;
}

echo $str;

効果




比較

効果は同じですが、getパラメータが多いとforループの効率が断然低くなるので、PHPでコードを書くときは自分で車輪の再発明をしないように気をつけて、C言語のほうが好きです。ああ、PHP は愚か者向けの言語ですが、本当に便利です。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。