$_GET
は、定義済み変数のひとつで、GETメソッドでスクリプトに送信したパラメータと値を格納した連想配列となっている。
使い方
$_GET
は、パラメータ名やname属性値がキーの連想配列なので、パラメータ名やname属性値をキーにして呼び出す。
例えば、sample.php?userName=Tarou
というURLで送られた値を取得するには、パラメータ名userName
をキーにし、$_GET[userName]
で呼び出す。
<input type="text" name="userName">
というフォーム部品からGETメソッドで送られた値を取得するには、name属性値userName
をキーにし、$_GET[userName]
で呼び出す。
$_GET
は、スーパーグローバル変数で、プログラム全体の、どのスコープでも呼び出せる。関数の内部で呼び出す場合、グローバル変数は、グローバル宣言するが、スーパーグローバル変数は、グローバル宣言すら必要ない。
サンプル
パラメータ付きURLのデータ
パラメータ付きURL: sample.php?userName=Tarou&comments=Hello
<?php
echo '<p>$_GET[userName]: ' . "$_GET[userName]</p>"; // パラメータ名が「userName」の値「Tarou」を出力
echo '<p>$_GET[comments]: ' . "$_GET[comments]</p>"; // パラメータ名が「comments」の値「Hello」を出力
?>
echo '<p>$_GET[userName]: ' . "$_GET[userName]</p>"; // パラメータ名が「userName」の値「Tarou」を出力
echo '<p>$_GET[comments]: ' . "$_GET[comments]</p>"; // パラメータ名が「comments」の値「Hello」を出力
?>
↓↓↓出力結果↓↓↓
$_GET[userName]: Tarou
$_GET[comments]: Hello
$_GET[comments]: Hello
フォームからGETメソッドで送られたデータ
<form action="sample.php" method="GET">
<p>ユーザー名: <input type="text" name="userName"></p>
<p>コメント: <input type="text" name="comments"></p>
<p><input type="submit" value="送信"></p>
</form>
<p>ユーザー名: <input type="text" name="userName"></p>
<p>コメント: <input type="text" name="comments"></p>
<p><input type="submit" value="送信"></p>
</form>
ユーザー名に「Tarou」、コメントに「Hello」を入力し送信すると、
<?php
echo '<p>$_GET[userName]: ' . "$_GET[userName]</p>"; // name属性値「userName」のフォーム部品に入力した値「Tarou」を出力
echo '<p>$_GET[comments]: ' . "$_GET[comments]</p>"; // name属性値「comments」のフォーム部品に入力した値「Hello」を出力
?>
echo '<p>$_GET[userName]: ' . "$_GET[userName]</p>"; // name属性値「userName」のフォーム部品に入力した値「Tarou」を出力
echo '<p>$_GET[comments]: ' . "$_GET[comments]</p>"; // name属性値「comments」のフォーム部品に入力した値「Hello」を出力
?>
↓↓↓出力結果↓↓↓
$_GET[userName]: Tarou
$_GET[comments]: Hello
$_GET[comments]: Hello