Web アプリ入門 / ch03 — `$_GET` でクエリ文字列を受け取る / 演習 02

📝 ドリル 02 — `$_GET` で複数キーを受け取る

問題

$_GET['name']$_GET['age'] を受け取り、"{name} ({age}歳)" を 1 行出力する PHP を書いてください。

採点ランナーは CLI 直実行なので、冒頭で stdin の 1 行を parse_str$_GET に展開 するスタブを置いてください。

このドリルの入力例:

name=太郎&age=20

期待される出力:

太郎 (20歳)

採点

php scripts/grade.php topics/12-web/ch03-get-params/drill/02-get-multi/

ヒント

$name = $_GET['name'] ?? '名無し';
$age  = $_GET['age']  ?? '?';
echo "{$name} ({$age}歳)\n";
▶ 3v4l で実行

本物の Web で確認したい場合

cd topics/12-web/ch03-get-params/drill/02-get-multi/
php -S localhost:8000 answer.php

ブラウザで http://localhost:8000/?name=太郎&age=20 を開く。

テストケース

標準入力

name=太郎&age=20

期待される出力

太郎 (20歳)

📄 starter.php(雛形)

このコードから書き始めてください。

<?php

// 採点用スタブ: 標準入力の 1 行を query string として $_GET に展開
$query = trim(fgets(STDIN) ?: '');
parse_str($query, $_GET);

// TODO: $_GET['name'] と $_GET['age'] を取り出す
// TODO: "{name} ({age}歳)" を 1 行出力する
✅ 解答例を見る(自分で解いてから)
<?php

// 採点用スタブ: 標準入力の 1 行を query string として $_GET に展開
$query = trim(fgets(STDIN) ?: '');
parse_str($query, $_GET);

$name = $_GET['name'] ?? '名無し';
$age  = $_GET['age']  ?? '?';
echo "{$name} ({$age}歳)\n";