PHPの文字列関数

毎日更新シリーズ、どうにか1週間続けることができたぞ!まさに、継続は力なりか。

さて、今日はPHPの文字列処理によく使われる関数をいくつか紹介していこうと思います。結構便利な関数がいろいろあるので、使いこなせるようにしておきたいところです。

strlen, mb_strlen
文字列の長さを取得する関数です。例えば

<?php echo(strlen('hello')); ?>

だと、5が返ってきます。気を付けなければならないのは、

<?php echo(strlen('おはよう')); ?>

だと、4ではなく8が返ってきてしまいます。日本語はマルチバイト文字なので、このような場合は

<?php echo(mb_strlen('おはよう')) ?>

とmb_がついた関数を使います。

substr, mb_substr
ある文字列の一部の文字列(例えば、3文字目から4文字文とか)を取り出す関数です。(0から始まるので、3文字目から5文字目だとsubstr(文字列、2、4)になります)
substr(元の文字列、開始位置(、取り出す文字列の長さ))という感じです。3つ目の引数を入れないと、開始位置を起点に最後までの文字列を取り出します。2番目の引数に0を入れると最初から、負の値を入れると最後から何文字目を起点にします。

<?php echo(substr('good morning', 5, 4)); ?>

だと’morn’となります。
mb_がついたやつの説明はさっきと同様です。

strpos, mb_strpos
ある文字列の中に、別の文字列が含まれているかどうかを調べます。

<?php echo(strpos('everyday', 'day')) ?>

だと、5になります。これも起点は0で、2番目の引数が最初の引数に含まれなければfalseが帰ってきます。
mb_は以下同文

str_replace
ある文字列を別の文字列で置き換えます。str_replace(置き換える前、置き換えた後、文字列全体)です。

<?php echo(str_replace('morning', 'afternoon', 'good morning')); ?>

だと、’good afternoon’になります。

explode
文字列をある文字列で分解して配列で返します。

<?php
 $data = explode('.', '192.168.255.254');
 ?>

とやると、$data[0]=’192′; $data[1]=’168′; $data[2]=’255′; $data[3]=’254′; です。

trim
文字列の先頭と末尾のスペースとか余計なものを取り除きます。

<?php
    $str = '  I am Japanese.  ';
    echo(trim($str));
?>

とやると、’I am Japanese.’だけが返ってきます。
2つ目の引数に削除したい文字を指定して入れることができます。

<?php
    $str = ' ...I am Japanese.  ';
    echo(trim($str, " ."));
?>

だと、半角スペースと’.’が消えるので、I am Japaneseになります。

他にどんなの関数があるかは公式ページを見てください。

カテゴリー: PHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です