【PHP8.x】mb_str_pad関数の使い方

作成日: 更新日:

mb_str_pad関数は、文字列を指定した長さになるように、別の文字列で埋める関数です。マルチバイト文字列に対応しており、日本語のような文字コードでも正しく動作します。

具体的には、元の文字列の左側、右側、または両側に、指定された埋め込み文字列を繰り返し追加することで、最終的な文字列の長さを目標の長さに調整します。埋め込み位置は、STR_PAD_LEFTSTR_PAD_RIGHTSTR_PAD_BOTH のいずれかの定数で指定します。STR_PAD_LEFT は左側、STR_PAD_RIGHT は右側、STR_PAD_BOTH は両側に埋め込みを行います。

例えば、文字列 "abc" を長さ 5 になるように右側に空白で埋めたい場合、mb_str_pad("abc", 5, " ", STR_PAD_RIGHT) のように記述します。結果として、"abc " という文字列が得られます。

埋め込み文字列を指定しない場合は、デフォルトで空白が使用されます。目標の長さが元の文字列の長さよりも短い場合は、元の文字列がそのまま返されます。また、埋め込み位置の指定を省略した場合は、STR_PAD_RIGHT がデフォルトで使用されます。

この関数は、固定長のデータを作成したり、文字列の表示を整える際に役立ちます。例えば、データベースに保存する際に、特定のフィールドの長さを固定したり、レポートを出力する際に、文字列を揃えて見やすく表示するために使用できます。マルチバイト文字列を扱う場合は、strlen関数ではなく、mb_strlen関数で文字列の長さを取得し、mb_str_pad関数と組み合わせて使用することで、予期せぬ文字化けを防ぐことができます。

基本的な使い方

構文(syntax)

mb_str_pad(string $string, int $length, string $pad_string = " ", int $pad_type = STR_PAD_RIGHT, ?string $encoding = null): string

引数(parameters)

string $string, int $length, string $pad_string = ' ', int $pad_type = STR_PAD_RIGHT, ?string $encoding = null

  • string $string: パディングしたい元の文字列
  • int $length: パディング後の文字列の目標長
  • string $pad_string = ' ': パディングに使用する文字列。省略時はスペース
  • int $pad_type = STR_PAD_RIGHT: パディングの種類。STR_PAD_LEFT (左詰め)、STR_PAD_RIGHT (右詰め)、STR_PAD_BOTH (中央揃え)
  • ?string $encoding = null: 文字エンコーディング。省略時は内部エンコーディング

戻り値(return)

string

指定された文字列を指定された長さになるように、指定された文字で埋め込んだ新しい文字列を返します。

【PHP8.x】mb_str_pad関数の使い方 | いっしー@Webエンジニア