本記事では、PHPで文字列の前後のスペース(空白)を削除する方法について解説しています。
PHPの学習におすすめ書籍
独習PHP 第4版
メリット
- PHPの基本構文からクラス・データベース連携・セキュリティまで学べる
- PHPによるWebアプリ開発の基礎・基本テクニックを学べる
ポチップ
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード
メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次
trim関数の使い方
文字列の前後のスペースを削除したい場合は、trim関数を使用します。基本的な使い方は以下のとおりです。
$result = trim($string [,$characters = " \t\n\r\0\x0B"]);
構文解説
- $result:空白が削除された文字列が返される
- $string:前後のスペースを削除したい対象の文字列を指定
- $characters:削除する内容(省略可能)。初期値では下記の内容をセットしているため空白を削除することが出来ます。空白ではなく任意の文字を削除したい場合はここに指定します。
$charactersの初期値
- \t:タブ
- \n:リターン
- \r:改行
- \0:Nullバイト
- \x0B:垂直タブ
trim関数はあくまで文字列の前後からスペースや任意の文字列を削除します。文字列内に含まれるスペースや任意の文字を削除したい場合は、str_replace関数の使用を検討してください。
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エンジニア"