頻繁に使うシーンがある文字列操作群の関数

2012-08-23    501   1195

文字列の一部分を取り出すsubstr関数は使用するシーンが多いです。長い文章の最初だけを表示する時や、URLから一部分を切り出す時などなど。

<substr()関数 - 最後の2文字を取り出す>


<?php
$str = 'https://sample.jp/cate.php?id=06';
echo substr($str, -2);

//結果「06」が出力されます。
?>
第2引数にマイナス値を入れれば最後からの文字が取得できます。先頭から2文字を取得する場合は正数を書けばOK。文字列が日本語の場合はmb_substr()を使用しないとバグが起きます。

<mb_substr()関数 - 文字数を指定して文字列を取り出す>


<?php
$str = '昨日は勝ちました。';
echo mb_substr($str,3,2,'utf8');

//結果「勝ち」が出力されます。
?>
上記の例は3文字目から2文字取得する場合の書き方です。mb_substr関数なので最後の引数に文字コードを指定します。「Shift_JIS」は「SJIS」「sjis」と略してもいいようです。

次は、explode関数を使うケースを見てみましょう。これも便利な関数なので頻繁に使えるシーンがあります。

<explode()関数 - 指定の文字列で分割する>


<?php
$str = 'sample@docomo.ne.jp';
$data = explode('@',$str);

/*
下記のデータが返ります
$data[0] = 'sample';
$data[1] = 'docomo.ne.jp';
*/
?>
explode関数は文字列を文字列により分割するという動作になります。返り値は配列データになります。list関数とのコンビで使うと便利になるケースもあります。

<explode()関数とlist()関数の連携>


<?php
$str = '0005<>山田<>1981/10/7<>富山<>自営業';
list($id,$name,$birth,$from,$job) = explode('<>',$str);
echo $id<br>$name<br>$birth<br>$from<br>$job;

/*
出力結果

0005
山田
1981/10/7
富山
自営業
*/
?>
list関数を使うと配列データを分かりやすい変数データに変換できます。CSVデータをHTMLで出力する際に重宝するテクニックですね。

カテゴリ: PHP

comment 登録なしでご自由にご入力いただけます(^^)ぜひぜひ記事のご感想をお聞かせ下さい。

いち7月8日

大変わかりやすかったです。
最近はTwitter、Instagramが増えてしまい辛いです。短文でしかやり取りできないプラットフォームが私は苦手です。
受取り側で察するか、内容の薄っぺらい内容しか取り扱えないのはスナック菓子みたいな感じです。

こういった意見というのは誤解をなるべく与えず、相手に曲解されない様、他者に理解できる言葉を選ぶ。また、冷静に己の感情を排除した、冒頭で綴られている俯瞰を貫いているので読みやすかったです。
私は、自分なりに咀嚼して落とし込むタイプの人間なので、こういうブログは数が減ってしまったのでありがたいです。

1 返信
M2NET7月9日

確かにツイッターは内容が薄く、おかしな情報の受け取り方をする方が多いです。そもそも一方通行の目線しかもたない人というのはまともな意見がありません…。2方向でも少ない。咀嚼して、3方向以上の多角的目線で複雑な思考の舵取りをして、本質を見抜き、単純思考に落とし込んで伝えやすくする。…そのようにしても、やはり曲解は減りません。ちゃんと最低限の広く浅い情報を得た上で咀嚼できる人からのコメント。非常に嬉しく思います。

返信
市民7月13日

参政党 私もつい最近知りました。期待してます。

1 返信

お名前とコメントは入力必須です。

コメントの文字数が短すぎます。

この内容でコメントを送る
コメントをする

目が疲れている方向けにラジオ系Youtubeを始めました

オススメのPHPに関する記事

この記事がお役に立てましたら是非シェアのご協力お願いします。