BookmarkLINEPHPで文字列操作を行う時とはどのような場面でしょうか。一部を取り出したり、置換したり、切り分けたり結合させたりと、様々なシーンがある中で、PHPにはそれを行う関数もたくさん用意されています。今回は、PHPで文字列操作を行う際に使える関数を見ていきます。する関数について、セクション毎に特に触れられていなければPHP4以降全てのバージョンで使えるものになります。substr/mb_substrsubstr関数は、指定した文字列から任意の範囲を取り出します。引数に対象の文字列を、第二引数にはどこから切り出すかのインデックス(つまり、1文字目は0から始まります)を渡します。マイナスを渡すと文字列の最後尾から遡ります。第三引数はオプションですが、開始のインデックスから何文字取り出すかを指定できます。第三引数を指定しない場合は、開始インデックスから最後までを取り出します。efgsubstr関数はマルチバイト文字には対応していません。日本語に用いる場合にはmb_substr関数を用います。にちはsubstr_countsubstr_count関数は、対象文字列から指定した文字列が何回登場するかを取得します。調べたい文字列を渡します。オプションとして第三引数にはどこから調べるか(開始インデックス)、第四引数には開始インデックスから何文字の範囲で調べるかを渡す事が出来ます。6substr_replacesubstr_replace関数は、対象文字列について、指定文字列で置換を行います。)第一引数に置換対象の文字列を、第二引数に置換文字列を、そして第三引数には置換対象文字列の何字目から置換を行うかの開始インデックスを指定します。オプションとして、第四引数には、開始インデックスから何文字を置換するかを指定できます。BBstrrevstrrev関数は、対象文字列の並びをさかさまにします。)引数は1つだけ、対象の文字列を渡すだけです。PHPstr_repeatstr_repeat関数は、文字列を指定回数分反復します。)第一引数に対象の文字列、第二引数に反復回数を渡します。PHP/PHP/PHP/str_padstr_pad関数は、対象となる文字列に対して、指定文字列の集合を用いて、指定バイト分に至るまで対象文字列を埋めます。補完し作成するバイト長を渡します。オプションとして、第三引数に補完に使用する文字列の集合、第四引数に補完の方向を指定できます。オプションを指定しない場合は、バイト数分右側に空白を補完します。'123PHP1234'第四引数には3つの定数を使用できます。STR_PAD_LEFT左側を補完します。STR_PAD_RIGHT右側を補完します。STR_PAD_BOTH左右を補完します。explodeexplode関数は、対象文字列を指定文字列により配列へ分割します。)第一引数にデミリタ(区切り文字)を指定し、第二引数に分割対象文字列を渡します。オプションとして第三引数に分割する上限数を指定できます。分割数が上限に達した場合は、配列の最終列へまとめて挿入されます。language'implode/joinimplode関数は、配列を指定文字列にて結合し1つの文字列を作成します。)第一引数に配列、第二引数に結合文字列を渡します。join()はimplode()のエイリアスです。'one-two-three-four'strtokstrtok関数は、対象文字列をトークンに分割します。)第一引数に対象文字列を、第二引数に分割に用いる文字列を渡します。対象文字列を第一引数に取り分割を行うと、PHP内部でそのチャンク情報を保持するので、二回目以降はトークンのみでコールする事がポイントです。二回目以降で対象文字列を渡すと、チャンクは先頭に戻ります。'language'sscanfsscanf関数は、指定フォーマットに基づき、対象文字列を分割します。)第一引数に対象文字列を、第二引数にフォーマットを渡します。オプションとして、第三引数に受け取る変数を指定できます。第三引数を指定しない場合は、返り値として配列を返します。2strpos/mb_strposstrpos関数は、対象文字列内に指定文字列が先頭から何番目(インデックス番号)に現れるかを取得できます。)第一引数に対象文字列を、第二引数に検索を行う指定文字列を渡します。falseまた、strpos関数はマルチバイト文字に対応していません。日本語などを扱う場合は、mb_strpos()を使います。"夏は7月上旬からだけど、夏休みは7月下旬からです。falsestrrpos/mb_strrposstrrpos関数は、対象文字列内に指定文字列が「最後」に現れるインデックス番号を取得できます。strpos()の結果を最後インデックスにしたバージョンです。)第一引数に対象文字列を、第二引数に検索を行う指定文字列を渡します。6また、こちらも同じくstrrpos関数はマルチバイト文字に対応していません。日本語などを扱う場合は、mb_strrpos()を使います。"夏は7月上旬からだけど、夏休みは7月下旬からです。16strstr/strchr/mb_strstrstrstr関数は、対象文字列に対して、指定文字列が最初に現れる位置を取得します。返り値としては、指定文字列が見つかった場所以降の文字列を全て返します。)第一引数に対象文字列を、第二引数に検索を行う指定文字列を渡します。strchr()はstrstr関数のエイリアスです。language'尚、strstr関数はマルチバイト文字に対応していません。日本語などを扱う場合は、mb_strstr()を使います。"夏は7月上旬からだけど、夏休みは7月下旬からです。'7月上旬からだけど、夏休みは7月下旬からです。'stristr/mb_stristrstristr関数は、strstr()と同じ処理を行いますが、こちらは大文字と小文字を区別しません。Language'また、マルチバイトの場合はmb_stristr()を使います。"PHPを操る人たちの事をPHPer(ペチパー)といいます。'PHPを操る人たちの事をPHPer(ペチパー)といいます。'strrchrstrrchrは、対象文字列中に、指定文字が最後に現れる場所を取得します。検索指定文字列を渡します。'Per.'strspnstrspn関数は、対象文字列に対して、指定文字列の集合(マスク)が使われている最初のセグメントの長さを取得します。マスク(指定文字列の集合)を渡します。3当たり判定が少し特殊です。第三引数に開始インデックスを指定しない場合は、先頭から評価が始まるので、先頭の1文字目にマスク内の文字列が無ければ0が返ります。strcspnstrcspn関数は、マスクにマッチしない最初のセグメントの長さを返します。strspn()の逆説的な挙動をします。11前者は、12番目でマッチする=12番目までマッチしないので12が返ります。後者は、全てマッチしない=11番目までマッチしないので11が返っています。まとめわりとベーシックなものが多かった中で、何のために使うのか若干イメージしずらい関数もあったと思います。PHPの文字列操作関数は、その関数が返す結果そのものを求める場合もありますが、これらの結果を以てまた別の何らかの処理を行ったりと、応用を効かせた使い方もたくさんできるので、どう使うかは自身の腕次第でもあります。SESを使ってAPIメール送信を行う(Mailableクラス&SimpleEmailService)2019.12.3MySQL8.0.16で追加されたCHECK制約を試してみる。RitoLaboこのサイトについて利用規約プライバシーポリシ。