str_pad

関数の概要

PHPの str_pad 関数は、指定した長さになるまで文字列の左側または右側、または両側に指定した文字を埋めてくれる便利な関数です。主に文字列の整形や見栄えを良くしたい時に利用されます。数値を含む文字列のフォーマット調整など、実務でも頻繁に役立ちます。

パラメータの説明

  • input(string):埋めたい元の文字列を指定します。
  • pad_length(int):最終的に作成する文字列の長さを指定します。元の文字列の長さより短い場合は、元の文字列がそのまま返されます。
  • pad_string(string)(省略可能):埋める文字列を指定します。指定しない場合はスペース(半角空白)が使われます。
  • pad_type(int)(省略可能):どこに文字を埋めるかを指定します。以下の3種類があります。
    • STR_PAD_RIGHT(デフォルト):右側に埋めます。
    • STR_PAD_LEFT:左側に埋めます。
    • STR_PAD_BOTH:両側に均等(場合によっては左側が1文字多い)に埋めます。

戻り値

指定した長さまで文字列が埋められた新しい文字列を返します。
元の文字列の長さが pad_length より長い場合は、元の文字列がそのまま返ります。

使用例

基本的な使い方

<?php
echo str_pad("PHP", 10) . "n"; 
// 出力: "PHP       " (右側にスペースが埋められます)
?>

引数 pad_length を10にしているため、「PHP」の右側に7つの空白が追加されて、全体で長さ10の文字列になります。

左側に文字を埋める例

<?php
echo str_pad("123", 6, "0", STR_PAD_LEFT) . "n"; 
// 出力: "000123"
?>

左側に”0″を使って、6文字になるまで埋めています。主に数値のゼロ埋めなどでよく使います。

両側に文字を均等に埋める例

<?php
echo str_pad("center", 10, "-", STR_PAD_BOTH) . "n"; 
// 出力: "--center--"
?>

文字列の左右にハイフンを均等に付けて、見やすく中央寄せのような効果を出せます。

パッド文字列が複数文字の例

<?php
echo str_pad("abc", 10, "xyz", STR_PAD_RIGHT) . "n"; 
// 出力: "abcxyzxyzx"
?>

複数文字を繰り返して埋められます。長さに合わせて一部だけ使われることもあります。

関連する関数

  • substr:文字列の一部を取得します。
    埋めた文字列の一部を切り出す時に使います。
  • trim:文字列の先頭や末尾の空白を取り除きます。
    str_padで埋めた空白を削除したいときに使います。
  • sprintf:フォーマット済み文字列を生成します。
    数値のゼロ埋めに似た用途でよく利用されます。

まとめ

str_pad は文字列を指定した長さまで簡単に埋めることができる便利な関数です。スペースだけでなく任意の文字列を使えて、埋める位置も選べるため、見やすく整ったフォーマットの作成に役立ちます。実務ではゼロ埋めや見出しの装飾、データの整形など多様な用途があります。ぜひ使いこなして、文字列操作を効率的に行いましょう。