[PHP]文字列操作関連まとめ

前回、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”,
)
」が出力されます。


This entry was posted in: PHP. Bookmark the ➜ permalink.

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)