urlencode

関数の概要

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 を使うと便利です。初心者でも簡単に使えるので、覚えておくと実務で役立つでしょう。