PHPでゼロパディング、ゼロサプレス

PHP
スポンサーリンク

PHPでゼロパディング

$id = "12345";
$id = str_pad($id, 8, "0", STR_PAD_LEFT);
print $id // "00012345"

または

$id = "12345";
$id = sprintf("%08d", $id);
print $id // "00012345"

PHPでゼロサプレス

ereg_replaceを使用すると

$id = "00012345";
$id = ereg_replace("^0+", "", $id);

のように使用してみると下記のエラーが出る。

Function ereg_replace() is deprecated in ...

調べると、ereg_replaceは現在PHPでは非推奨とのことで、ereg_replaceの代わりにpreg_replaceを使用するとよいとのことであった。

$id = "00012345";
$id = preg_replace("/^0+/", "", $id);

⇒$idに何もセットされなくなった。(使い方が悪い?)

そこでltrimを使用してみる。

$id = "00012345";
print ltrim($id,'0'); //"12345"

成功。

よくわかるPHPの教科書

よくわかるPHPの教科書

  • 作者: たにぐちまこと
  • 出版社/メーカー: 毎日コミュニケーションズ
  • 発売日: 2010/09/14
  • メディア: 単行本(ソフトカバー)
  • 購入: 43人 クリック: 1,002回
  • この商品を含むブログ (53件) を見る
PHPによるWebアプリケーションスーパーサンプル 第2版

PHPによるWebアプリケーションスーパーサンプル 第2版

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