要するに、VBScript や古い VB における Right 関数の代替えが目的です。 ただ、前ゼロしたいだけなら sprintf がありますし、他の言語でも行うには、文字列の長さと開始位置から指定長さを取得する処理があればできます。
<? // ********************************************************** // n 桁の前ゼロ文字列を作成するには // 以下で簡単に作成できますが、 // ********************************************************** $a = sprintf("%05d", 1); print "$a<br>"; // ********************************************************** // どんな言語でもたぶんある関数(メソッド)を使って行うには // ********************************************************** // 1) n 桁の 0 を目的の文字列の前に連結する $a = "00000" . 1; // 2) 全体の長さを取得する $len = strlen($a); // 3) 全体の長さ - 欲しい長さを開始位置とする $start = $len - 5; // 4) その位置から欲しい長さぶん切り取る $x = substr( $a, $start, 5 ); print "$x<br>"; // つまり function m_zero( $target, $n ) { $target = str_repeat("0",$n) . $target; $len = strlen($target); $start = $len - $n; $target = substr( $target, $start, $n ); return $target; }; print m_zero(1,5) . "<br>"; print m_zero("AA",5) . "<br>"; print m_zero("あA",5) . "<br>"; print m_zero(1234,5) . "<br>"; print m_zero(12345,5) . "<br>"; ?>
00001 00001 00001 000AA 00あA 01234 12345
|
【PHP + ベーシックの最新記事】
- PHP : ユニークなキーの取得
- PHP で漢字スペースと通常スペースのトリムとPHP正規表現チェッカー(置き換え)
- PHP で HTML数値エンティティを、目的のキャラクタセットの文字列に変換する
- PHP : $_GET、$_POST、$_SESSION とグローバル変数全ての簡単な表示方法
- Windows・Unix(Linux)共用、PHPの include_path の動的設定方法
- PHP : PHPコマンドラインから使用中の ini ファイルをチェック
- 初心者用ファイルアップロード用テンプレート( 含 HTML5 の multiple="true" )
- PHP : 改行とタブと余り(%) でカレンダーを作成( 最終日は mktime で取得 )
- PHP : date 関数