本記事では、PHPで文字列の前後のスペース(空白)を削除する方法について解説しています。
PHPの学習におすすめ参考書
気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
後輩ちゃん
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
trim関数の使い方
文字列の前後のスペースを削除したい場合は、trim関数を使用します。基本的な使い方は以下のとおりです。
$result = trim($string [,$characters = " \t\n\r\0\x0B"]);
構文解説
- $result:空白が削除された文字列が返される
- $string:前後のスペースを削除したい対象の文字列を指定
- $characters:削除する内容(省略可能)。初期値では下記の内容をセットしているため空白を削除することが出来ます。空白ではなく任意の文字を削除したい場合はここに指定します。
$charactersの初期値
- \t:タブ
- \n:リターン
- \r:改行
- \0:Nullバイト
- \x0B:垂直タブ
trim関数を使用して、文字列の余分な前後スペース(空白)を削除するサンプルコードを用意したので、動作確認してみましょう。
<?php
$str = " \t \rWebエンジニア \n ";
var_dump($str); // string(26) " Webエンジニア "
var_dump(trim($str)); // string(18) "Webエンジニア"
trim関数を使用する前の変数$strをvar_dump関数で確認すると、26バイトで前後の空白があります。trim関数で前後のスペースを削除した結果を確認すると18バイト(web3バイト + エンジニア15バイト)で余分な前後のスペースが削除されていることが分かります。
先頭/末尾のスペースのみ削除したい場合
trim関数は前後のスペースを削除しますが、もし先頭のみスペースを削除したい場合はltrim関数を、末尾のみスペースを削除したい場合はrtrim関数を使用します。使い方はtrim関数と全く同じです。
<?php
$str = " \t \rWebエンジニア \n ";
var_dump($str); // string(26) " Webエンジニア "
var_dump(ltrim($str)); // string(22) "Webエンジニア "
var_dump(rtrim($str)); // string(22) " Webエンジニア"