関数の概要
urlencode は、PHPで文字列をURLに含めるためにエンコードする関数です。URLに使えない特殊文字や日本語などを、%記号と16進数の組み合わせに変換することで、安全にURLとして利用できる形式に変換します。主にクエリパラメータを作成する際に使われます。
パラメータの説明
- string:エンコード対象の文字列を指定します。通常はURLに含めたい文字列を渡します。
戻り値
引数に渡した文字列をURLエンコードした結果を返します。例えば、スペースは「%20」や「+」に変換され、特殊記号も安全な形式に変換されます。
使用例
基本的な使い方
$str = "hello world!";
echo urlencode($str); // 出力: hello+world%21
スペースは「+」、感嘆符は「%21」に変換され、URLで問題なく使える形になります。
日本語のURLパラメータ作成
$name = "山田 太郎";
echo "https://example.com/?user=" . urlencode($name);
// 出力例: https://example.com/?user=%E5%B1%B1%E7%94%B0+%E5%A4%AA%E9%83%8E
日本語も正しくエンコードされるので、URLの一部として安全に渡せます。
複数パラメータの組み合わせ
$params = [
'search' => 'PHP urlencode',
'page' => 2
];
$url = "https://example.com/?";
foreach ($params as $key => $value) {
$url .= urlencode($key) . '=' . urlencode($value) . '&';
}
$url = rtrim($url, '&');
echo $url;
// 出力: https://example.com/?search=PHP+urlencode&page=2
連想配列を使って複数パラメータを作成する場合も、一つずつエンコードすれば安全です。
関連する関数
urldecode– URLエンコードされた文字列を元に戻す関数rawurlencode– RFC 3986に準拠したURLエンコードを行う関数http_build_query– 配列からURLクエリ文字列を生成し自動でエンコードも行う関数
まとめ
urlencode はPHPでURLに含める文字列を安全にエンコードするための基本関数です。日本語や特殊文字を含む場合でも問題なくURLに組み込めるため、Webアプリケーションでのパラメータ付加時などに頻繁に使われます。複数パラメータがある場合は、個別にエンコードするか http_build_query を使うと便利です。初心者でも簡単に使えるので、覚えておくと実務で役立つでしょう。
