前回、Javaにおける文字列操作系の関数をまとめたので、
ついでにPHPの文字列操作系の関数まとめます。
文字列の切り出し
<?php $str = "abcdefg"; # No.1 echo substr( $str , 0 ); # No.2 echo substr( $str , 1 ); # No.3 echo substr( $str , -1 ); # No.4 echo substr( $str , 2 , 4 ); # No.5 echo substr( $str , -4 , -1 ); # No.6 $str = "あいうえお"; echo mb_substr( $str , 1 , 3 , "UTF-8" ); ?>
解説
関数[substr]を利用して切り出しを行います。
引数は二つの整数値を指定可能で、
一つの場合は切り出し開始地点の設定、
二つの場合は切り出し開始地点と長さを設定出来ます。
# No.1
開始地点を先頭から0番目(一番最初)に指定します。
# No.2
開始地点を先頭から1番目に指定します。
# No.3
開始地点を末尾から1番目(一番最後)を指定します。
# No.4
開始地点を先頭から2番目、
長さを4文字分に指定します。
# No.5
開始地点を末尾から4番目、
長さを末尾から1番目(一番最後)に指定します。
# No.6
マルチバイト(全角文字列)を切り出す場合は
関数[mb_substr]を利用します。
その際、一番最後の引数に文字コードを必ず設定してください。
基本的な考え方は配列のソレと同じです。
ちなみに、No.1は「abcdefg」、
No.2は「bcdefg」、
No.3は「g」、
No.4は「cdef」、
No.5は「def」、
No.6は「いうえ」をそれぞれ出力します。
文字列の検索
<?php $str = "abcdefg"; # No.1 echo strstr( $str , "c" ); # No.2 echo strstr( $str , "cd" ); # No.3 echo strstr( $str , "abcdefg" ); # No.4 echo strstr( $str , "abcdefgh" ); ?>
解説
関数[strstr]を利用して文字列検索を行います。
引数は[対象の文字列]、[検索したい文字列]を
それぞれ指定、返り値としては検索にヒットした
以降の文字列を返します。
No.1は「cdefg」、
No.2は「cdefg」、
No.3は「abcdefg」、
No.4は「FALSE」をそれぞれ出力します。
文字列の長さを取得
<?php $str = "abcdefg"; # No.1 echo strlen( $str ); $str = "あいうえお"; # No.2 echo strlen( $str ); # No.3 echo mb_strlen( $str , "UTF-8" ); ?>
解説
関数[strlen]を利用して文字列の長さを調べます。
引数には調べたい文字列を指定します。
全角文字列を対象としたい場合は
関数[mb_strlen]を利用し、
引数に文字コードを追加します。
No.1は「7」、
No.2は「15」、
No.3は「5」をそれぞれ出力します。
因みにNo.2の返り値がなぜ「15」なのかは
下記サイトを参考にして下さい。
PHPのstrlen関数で全角文字が3バイトになる件
文字列の分解
<?php $str = "hogehoge@fugafuga"; echo '<pre>'; print_r( split( $str , "@" ) ); echo '
‘;
?>
解説
関数[split]を利用して文字列を分解します。
引数は[対象の文字列]、[分割対象のキー]を
それぞれ指定、返り値としては分解した結果を
配列で返します。
この場合は
「
Array (
[0] => “hogehoge”,
[1] => “fugafuga”,
)
」が出力されます。