PHP SCHOOL.biz

PHPの学習をする為のブログです。プログラム未経験の方にも理解できるよう基本的な、PHPの知識について身に付けることができるようにわかりやすい内容にしていきたいと思っています。


PHPと文字列操作

文字列とは、"Hello World"のような文章などのことです。

PHPと文字列関数

PHPでは様々な関数が用意されており、自分自身でアルゴリズムを考えなくても簡単に色々なことを簡単にすることができます。
このページでは、PHPで利用できる文字列を操作する関数を紹介します。

文字列の長さを取得する。

PHPのstrlen()関数では、文字列の長さを取得することが出来ます。
下の例では、"Hello World!"と"ハローワールド"の文字列の長さを取得します。

<?php
echo strlen("Hello world!"); // outputs 12

echo "<br />";

echo strlen("ハローワールド"); // outputs 14
?>

出力結果
strlenではバイト数を返すので"Hello World!"は12バイト、"ハローワールド"の方は14バイトと表示されました。
文字コードにより違うのですが、だいたい半角英数字は1文字1バイト・全角1文字は2バイトとなります。
UCS-2だと、半角英数も全角も全部2バイトだったりします。

文字列の言葉の数を取得する。

str_word_count() という関数を使用すると文字列の中の音葉の数を取得することが出来ます。日本語のように言葉と言葉の間にスペースがない言語であるとあまり使用する機会はないのですが、英語など単語と単語の間にスペースがある言語であると使用価値のある関数です。

<?php
echo str_word_count("Hello world!"); // outputs 2
?>

出力結果

文字列を逆順にする。

strrev()という関数を取得すると文字列を逆順にすることが出来ます。"Hello"という文字列を、"olleH"と変換してくれる関数です。

<?php
echo strrev("Hello world!"); // outputs !dlrow olleH
?>

出力結果
"!dlrow olleH"と出力されました。

特定の文字列の中から特定の言葉を探す。

strpos()という関数を使用すると特定の文字列の中から特定の言葉を探すことができます。
もし、特定の言葉が見つかった場合、文字列のある位置を戻り値として戻します。見つからなかった場合は、falseを戻します。
下の例では、"Hello World!"から"World!"という用語を探しています。

<?php
echo strpos("Hello World!", "World"); // outputs 6
?>

出力結果
6という数字が表示されました。7文字目から"World"という言葉があるのですが、"Hello"のHは0としてこの関数ではカウントしています。

文字列の中の文字を入れ替える

str_replace()という関数を使用すると特定の中の文字列を別の文字列に入れ替えることが出来ます。
下の例では、"Hello World"の"World"という言葉を"PHP"という文字列に入れ替えています。

<?php
echo str_replace("World", "PHP", "Hello World!"); // outputs Hello PHP!
?>

出力結果

PHPにはまだまだ、文字列を操作する関数があります。
ここでは一部しか紹介することができませんでしたが、おいおいリファレンスを作成してみたいと思います。