PHPで0埋めした数字を作る方法

sprintfを使った方法

<?php
$str = sprintf("%05d", 1);
var_dump($str);
?>

実行結果

string(5) "00001"

予備知識:sprintfの他の使い方

sprintfは文字列の間に別の文字を入れることにも使えます。

<?php

echo sprintf("今日は%d月%d日です", 9, 9);

?>

実行結果

今日は9月9日です

上の例だと数字を入れましたが、文字列の場合は少し変わります。

<?php
// 文字列の場合は%dではなく%sを使います
echo sprintf("今日の天気は%sです", "晴れ");

?>

 実行結果

今日の天気は晴れです

もし、%sのところを%dにすると以下のように文字列が強制的に数値に変換されますので注意してください。

echo sprintf("今日の天気は%dです", "晴れ");
今日の天気は0です
PHP: sprintf - Manual

予備知識:0埋めすることをなんというか

0埋めすることをゼロパディングと言います。

予備知識:0を取ることをなんというか

逆に0を取ることをゼロサプレスと言います。

コメント

タイトルとURLをコピーしました