PHP 文字列を操作するサンプル

Pythonの文字列を操作するサンプルです。

確認環境
・PHP 7.2.8

目次

結合演算子で文字列を結合する(.)

結合演算子(.)で文字列を結合するサンプルです。

<?php

print ("あ" . "い"); //あい

//------------------------------
$a = "う";
$b = "え";

print ($a.$b); //うえ

print ($a."お"); //うお

?>

3行目は、ドット(.)で文字列リテラルを結合しています。
9行目は、ドット(.)で変数どうしを結合しています。
11行目は、ドット(.)で変数とリテラルを結合しています。

結合代入演算子で文字列を追加する(.=)

結合代入演算子(.=)で文字列を追加するサンプルです。

<?php

// 結合代入演算子

$a = "あ";

$a .= "い";

print ($a); //あい

?>

5行目は、変数に文字を代入しています。
7行目は、結合代入演算子で文字列を結合しています。

文字列内で変数を展開する({変数})

文字列内で変数を展開するサンプルです。

<?php

$a = "赤";

print "選択した色は{$a}です"; //選択した色は赤です

print '選択した色は{$a}です'; //選択した色は{$a}です

?>

5行目は、ダブルコーテーションで文字列を囲みその中の波括弧({})の中に変数を指定しています。結果は変数の値が表示(展開)されます。
7行目も波括弧({})の中に変数を指定していますが、シングルコーテーションでいるため変数は展開されません。

文字列を繰り返す(str_repeat)

文字列を繰り返すサンプルです。

<?php

print str_repeat("あ",2); //ああ

print str_repeat("あいう",2); //あいうあいう

?>

str_repeat関数を使用します。2つめの引数の数だけ文字列が繰り返されます。

指定した位置の文字を取得する(mb_substr/substr)

指定した位置の文字を取得するサンプルです。

<?php

print mb_substr("あいう",0,1); //あ

print mb_substr("あいう",1,1); //い

print mb_substr("あいう",2,1); //う

print substr("abc",0,1); //a

print substr("abc",1,1); //b

print substr("abc",2,1); //c

?>

日本語のときは、mb_substrを使用します。
1つめの引数は開始位置で、2つめの引数は取得する文字列の長さです。

文字列の長さを取得する(mb_strlen/strlen)

文字列の長さを取得するサンプルです。

<?php

print mb_strlen("あいう"); //3

print strlen("abc"); //3

?>

日本語のときは、mb_strlenを使用します。

文字の存在を確認し真偽値を返す(mb_strpos/strpos)

文字の存在を確認し真偽値を返すサンプルです。

<?php

$a = "あいう";

var_dump(mb_strpos($a,"あ")); //int(0)
var_dump(mb_strpos($a,"い")); //int(1)
var_dump(mb_strpos($a,"う")); //int(2)

var_dump(mb_strpos($a,"か")); //bool(false)

$b = "abc";

var_dump(strpos($b,"a")); //int(0)
var_dump(strpos($b,"b")); //int(1)
var_dump(strpos($b,"c")); //int(2)

var_dump(mb_strpos($b,"f")); //bool(false)

?>

3行目は、日本語の文字列です。
5~7行目は、mb_strposで位置を数値で表示しています。最初の位置は0です。
9行目は、$aに指定の文字(か)が存在しないのでfalseが表示されます。

11行目は、英字の文字列です。
13~14行目は、strposで位置を数値で表示しています。最初の位置は0です。
17行目は、$bに指定の文字(f)が存在しないのでfalseが表示されます。

文字列の並び順を逆順にする

文字列の並び順を逆順にするサンプルです。

<?php

$a = "abcde";

print strrev($a); //edcba

?>

5行目は、strrevで文字列の並び順を逆順にしています。
日本語に対応したmb_strrevはありません。

文字列の並び順をランダムにする(str_shuffle)

文字列の並び順をランダムにするサンプルです。

<?php

$a = "abcde";

print str_shuffle($a); //cbade

?>

5行目は、str_shuffleで文字列の並び順をランダムにしています。
日本語に対応したmb_str_shuffleはありません。

前後の半角の空白を取り除く(trim)

前後の半角の空白を取り除くサンプルです。

<?php

$a = " abcde ";

print strlen($a); //7

print strlen(trim($a)); //5

print trim($a); //abcde

?>

3行目は、文字列の前後に半角の空白(スペース)があります。
5行目は、変数aの長さの7を表示します。
7行目は、trimで前後の空白を削除しているので長さは5です。
全角空白は取り除きません。

また、trimの代わりに
rtrimであれば文字列の右側の空白を削除します。
ltrimまたはchopであれば左側の空白を削除します。

関連の記事

PHP 文字列が一致するか比較するサンプル(strcmp)
PHP 文字列の長さを取得するサンプル(mb_strlen/strlen)
PHP 英字の大文字と小文字を変換(strtolower/strtoupper)
PHP 文字列の一部を取得するサンプル(mb_substr/substr)
PHP 文字列の位置を取得する(mb_strpos/mb_strrpos)

△上に戻る