SQLの窓

2010年10月30日


PHP : 前ゼロ文字列作成と右から必要な長さ文字列を取得する処理

要するに、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 5.3.0 以降の無名関数
タグ:PHP 文字列
posted by lightbox at 2010-10-30 19:34 | PHP + ベーシック | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり