【PHP】これで分かる関数! – 文字列 –

PHP

更新履歴

更新日更新者更新内容
2021/6/24JJI「よく使用する関数」の段落
・文言を修正
・リンク先にマルチバイト関数の記事を追記

はじめに

この記事では、PHP標準で提供されている文字列の関数について説明します。
文字列の関数は100以上存在しますが、記事ではよく使用する関数についてサンプルプログラムを載せています。

文字列の関数を覚える必要はありません。
文字列を操作するコードを書く際、こういう操作はPHPで標準に提供されている関数があったと思って調べて使用できれば大丈夫です。

実際、文字列の関数を使用しなくてもif文などの条件分岐、for文などのループ分を使用すれば同じ関数は作れますが、時間がかかるため、提供されている関数を使用することをおすすめします。

よく使用する関数

文字列の関数でよく使用するものは次の通りです。
文字列関数はバイト単位で処理します。
1バイトで表現できない日本語などのマルチバイト文字は正しく処理できない可能性があるため、関数の使用方法をよく確認してから使用するようにしてください。

マルチバイトの処理のため、マルチバイト用の関数が提供されています。
マルチバイト関数は次の記事を見てください。

また、このブログはPHP7.4を使用しているため、PHP8から対応している関数は対象外です。

関数PHP8
対応
説明(PHPマニュアルより抜粋)
choprtrim のエイリアス
chr数値から、1バイトの文字列を生成する
echo1 つ以上の文字列を出力する
explode文字列を文字列により分割する
htmlentities適用可能な文字を全て HTML エンティティに変換する
htmlspecialchars特殊文字を HTML エンティティに変換する
implode配列要素を文字列により連結する
joinimplode のエイリアス
ltrim文字列の最初から空白 (もしくはその他の文字) を取り除く
printfフォーマット済みの文字列を出力する
rtrim文字列の最後から空白 (もしくはその他の文字) を取り除く
sprintfフォーマットされた文字列を返す
str_contains指定された部分文字列が、文字列に含まれるかを調べる
str_ends_with文字列が、指定された文字列で終わるかを調べる。
str_pad文字列を固定長の他の文字列で埋める
str_repeat文字列を反復する
str_replace検索文字列に一致したすべての文字列を置換する
str_starts_with文字列が指定された部分文字列で始まるかを調べる
strcmpバイナリセーフな文字列比較
strlen文字列の長さを得る
strncmp最初の n 文字についてバイナリセーフな文字列比較を行う
strpos文字列内の部分文字列が最初に現れる場所を見つける
strstr文字列が最初に現れる位置を見つける
strtolower文字列を小文字にする
strtoupper文字列を大文字にする
substr文字列の一部分を返す
trim文字列の先頭および末尾にあるホワイトスペースを取り除く

PHP標準で提供している文字列関数の一覧は次のページを見てください。

PHP: 文字列 - Manual

文字列関数その1

次の関数についてサンプルプログラムで説明します。

  • chop()、rtrim()
  • chr()
  • echo()、printf()
  • explode()
  • htmlentities()、htmlspecialchars()

詳細はこちらを見てください。

文字列関数その2

次の関数についてサンプルプログラムで説明します。

  • implode()、join()
  • ltrim()
  • sprintf()
  • str_contains()
  • str_pad()
  • str_repeat()

詳細はこちらを見てください。

文字列関数その3

次の関数についてサンプルプログラムで説明します。

  • str_replace()
  • strcmp()、strncmp()
  • strlen()
  • strpos()
  • strstr()

詳細はこちらを見てください。

文字列関数その4

次の関数についてサンプルプログラムで説明します。

  • strtolower()、strtoupper()
  • substr()
  • trim()

詳細はこちらを見てください。

最後に

この記事では、PHP標準で提供する文字列関数についてサンプルプログラムを使って説明しました。
文字列関数は使用することが多いため、記事を参考にして使い方を覚えるようにしましょう。

コメント