PHPのtrimで文字列の先頭と末尾の空白を取り除く方法【初心者向け】現役エンジニアが解説
プログラミング初心者向けにPHPのtrim関数を使って文字列の先頭と末尾の空白を取り除く方法について解説しています。取り除く文字列も指定できるので、効率よく開発の作業を進められるはずです。ぜひ書き方を覚えておきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
trim関数を使って文字列の先頭と末尾の空白を取り除く方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
自分が意図しないで発生した空白はなかなか気づきにくいものです。
自動で空白を認識してくれるので、ぜひ書き方を覚えておきましょう。
目次
そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。
trim関数とは
trimは文字列の最初と最後の空白を取り除く関数です。
パラメータを指定することによって改行など特定の要素のみを削除できます。
田島メンター!空白は見えないのに取り除く必要はあるのでしょうか?
普通の文章として書く時は、取り除かなくても大丈夫だけど、プログラムで空白があると困ることが多いんだよ。
エラーの原因になったりするんでしょうか?
そうだね。とりあえず、空白除去の関数をざっと見てみよう!
trimの書き方
trimは以下のように記述します。
trim(文字列,"取り除く要素")
()内に空白を取り除く文字列と取り除く要素を指定します。
(取り除く要素の部分は省略が可能です)
要素を指定しない場合は、” “(半角の空白※全角は対象になりません)、”t”(水平タブ)、”n”(リターン)、”r”(改行)、“ ”null文字、”v”(垂直タブ)のすべてが対象となり取り除かれます。
指定した場合は、その要素だけが文字列の前後から取り除かれます。
[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは
実際に書いてみよう
今回はtrimを利用したプログラムを3つ書いてみます。
- パラメータを指定せずにすべての空白要素を取り除くプログラム
- パラメータを指定して特定の要素を取り除くプログラム
- trimの代わりに利用できる、ltrimとrtrimのプログラム
パラメータを指定せずにすべての空白要素を取り除く
取り除く要素を指定しない場合について解説します。
サンプルコード
<?php
$str = "ttt文字列ttt";
echo $str;
echo "n";
$str = trim ($str);
echo $str;
解説
表示結果だけだとわかりにくいため、表示結果では水平タブを■で表示しています。
$str = “ttt文字列ttt”;では、水平タブを含む文字列■■■文字列■■■を用意します。
trim ($str);では、水平タブを削除します。
結果的に文字列という表示が出力されます。
表示結果
■■■文字列■■■
文字列
パラメータを指定して特定の要素を取り除く
特定の要素だけパラメータで指定して取り除いた場合を解説します。
サンプルコード
<?php
$strt = "ttt前後に水平タブttt";
$strn = "nnn前後に改行nnn";
echo $strt;
echo $strn;
$strt = trim($strt,"t");
$strn = trim($strn,"n");
echo $strt;
echo $strn;
解説
表示結果だけだとわかりにくいため、表示結果では、水平タブを■、改行を▲で表示しています。
$strt = “ttt前後に水平タブttt”;では、水平タブを含む■■■前後に空白■■■というデータを用意しています。
$strn = “nnn前後に改行nnn”;では、改行を含む▲▲▲前後に改行▲▲▲というデータを用意しています。
trim($strt,”t”)では、水平タブを削除します
trim($strn,”n”)では、改行を削除します。
実行結果
■■■前後に水平タブ■■■▲
▲
▲
前後に改行▲
▲
▲
前後に水平タブ前後に改行
ltrimとrtrim
trimの代わりにltrimあるいはrtrimを使用すると、文字列の最初あるいは最後の指定パラメーターだけを取り除くことができます。
ltrimは文字列の最初、rtrimは文字列の最後が対象になります。
サンプルコード
<?php
$strl = "ttt左だけ削除ttt";
$strr = "ttt右だけ削除ttt";
echo $strl;
echo $strr;
echo "n";
$strl = ltrim($strl);
$strr = rtrim($strr);
echo $strl;
echo $strr;
解説
表示結果だけだとわかりにくいため、表示結果では、水平タブを■で表示しています。
最初に■■■左だけ削除■■■■■■右だけ削除■■■というデータを用意しています。
ltrim($strl);で、左の■だけ削除しています。
rtrim($strr);で、右の■だけ削除しています。
表示結果
■■■左だけ削除■■■■■■右だけ削除■■■
左だけ削除■■■■■■右だけ削除
おわりに
今回は、PHPのtrim関数を使って水平タブや改行を取り除く方法を説明しました。
trimだけじゃなくて、ltrimやrtrimなんてのもあるんですねー。
lはleft(左)のl。rはright(右)のrって覚えればいいよ。
丸暗記する必要はありますか?
そういえば、空白を除去する関数があったな~ぐらいでいいと思うよ。後は、またリファレンスで調べたりするのがいいね。
PHPを学習中の方へ
これで解説は終了です、お疲れさまでした。
- つまずかず「効率的に」学びたい
- 副業や転職後の「現場で使える」知識やスキルを身につけたい
プログラミングを学習していて、このように思ったことはありませんか?
テックアカデミーのPHP/Laravelコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。
合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、PHP/Laravelを使ったWebアプリケーション開発を学べます。
まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。
時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!