#8 PHPで学ぶ文字列操作の基本
PHPの文字列操作は、豊富な組み込み関数が用意されているのが特徴です。この記事では、PHPにおける文字列操作の基本を解説します。
文字列を連結する
以前の記事でも触れた通り、PHPでは文字列連結専用の「.」を使います。
$greeting = "こんにちは、" . $name . "さん";
ダブルクォートの中であれば、変数をそのまま埋め込むこともできます。
$greeting = "こんにちは、{$name}さん";
シングルクォートで囲んだ文字列では、この変数埋め込みが行われず文字通りに表示される点にも注意しましょう。
よく使う文字列操作
strlen($name)文字数を調べるstrtoupper($name)大文字に変換するstr_replace("A", "B", $name)文字を置き換えるexplode(",", $name)指定した記号で分割するimplode(",", $array)配列を指定した記号でつなげて文字列にするtrim($name)前後の空白を取り除くsubstr($name, 0, 3)指定した位置から文字列を切り出す
文字列を検索する
特定の文字列が含まれているかどうかを調べたい場合は、PHP 8以降であれば`str_contains`が使えます。
if (str_contains($name, "太郎")) {
echo "太郎さんが含まれています";
}
古いPHPのバージョンでは`str_contains`が存在しないため、代わりに`strpos($name, "太郎") !== false`という書き方で判定します。`strpos`は見つからない場合`false`を返しますが、先頭(0文字目)で見つかった場合も`0`を返すため、`==`ではなく`===`(型まで含めた厳密な比較)で`false`と比べる必要がある点に注意しましょう。
数値と文字列を変換する
$str = (string) 123;
$num = (int) "123";
キャスト(型変換)を使うことで、数値と文字列を相互に変換できます。フォーマットを整えて出力したい場合は`sprintf("%05d", 42)`のような書式指定も便利です。
PHPならではの注意点
PHPの文字列操作の多くは、Goと同じく「文字列.機能()」ではなく「機能(文字列)」という書き方をします。関数名も`strlen`や`str_replace`のように、単語を省略した独特な名前が多いため、最初は覚えることが多く感じられるかもしれません。また、`strpos`のように「見つからなかった場合に`false`を返す」関数は、`0`という結果と`false`という結果を`==`で比べると意図せず同じ扱いになってしまうことがあるため、`===`を使う習慣をつけておくと安全です。
まとめ
PHPの文字列操作は`strlen`・`str_replace`・`explode`などの組み込み関数が基本です。「機能(文字列)」という書き方の順番や、`===`を使った厳密な比較にも慣れておきましょう。
本ページはプロモーションを含みます。
参考書籍(PR)
PHPをもっと学びたい方には「10日でおぼえるPHP入門教室 第4版」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿