PHPのrawurlencode関数について現役エンジニアが解説【初心者向け】

初心者向けにPHPのrawurlencode関数について現役エンジニアが解説しています。エンコードとはデータを特定の形式に変換することをいい、rawurlencode関数はURLエンコードをするための関数で書き方や使い方について解説します。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

今回は、PHPのrawurlencode関数について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPのrawurlencode関数について詳しく説明していくね!

大石ゆかり

お願いします!

この記事ではPHPのrawurlencode関数について解説します。

目次

 

エンコードとは

エンコードとは、データを特定の形式に変換することをいいます。

データを使う場面によっては、そのままの形式で使用してはいけない場面も少なくありません。

その際にその場面に従った形式に変換する必要があります。

 

[PR] PHPプログラミングで挫折しない学習方法を動画で公開中

rawurlencode関数とは

rawurlencode関数は、URLエンコードをするための関数です。

URLエンコードとはURLとして使用できない文字や記号を使用できる文字に変換することをいいます。

似たような関数にurlencode関数があり、rawurlencode関数はインターネットに関する仕様がまとまっているRFC3986に一致した変更をするためより安全であると考えられるでしょう。

 

rawurlencode関数の使い方

rawurlencode関数は以下のように使用することが可能です。

エンコード後URL = rawurlencode(エンコード前URL);

変換したいURLの文字列をrawurlencode関数の引数に設定することで戻り値としてエンコード後のURLを返します。

 

実際に書いてみよう

実際にrawurlencode関数を使ってURLをエンコードしてみましょう。

サンプルコード

<?php
  $url = "こんにちは";
  echo rawurlencode($url);
  echo '<br/>';

  $url = " こんにちは ";
  echo rawurlencode($url);
  echo '<br/>';

  $url = "~こんにちは~";
  echo rawurlencode($url);
  echo '<br/>';

 

実行結果

%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF
%20%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%80
~%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF~

 

文字列は各文字を16進数に変換した値を「%」の後ろに付けます。半角スペースや全角スペースも変換対象です。

「~」は変換されずにそのまま表示されます。

 

まとめ

この記事ではPHPのrawurlencode関数について解説しました。

エンコード処理はアプリケーション開発する際に非常によく使われますので使用方法を理解して使えるようにしましょう。

 

執筆してくれたメンター

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。

TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

PHPのrawurlencode関数が分かりやすくて良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できるオンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。