2011年6月14日 星期二
2011年6月12日 星期日
2011年6月9日 星期四
php的sprintf()使用方式
php中字串格式化函數sprintf()用法簡介:
語法:string sprintf(string format, mixed [args]...);
返回值:字串
[函數說明]
本函數用來將字串格式化。參數format是轉換的格式,以百分比符號%開始到轉換字元為止。而在轉換的格式間依序包括了:
1.填空字元:0的話表示空格填0;空格是內定值,表示空格就放著。
2.對齊方式:內定值為向右對齊,負號表向左對齊。
3.欄位寬度:為最小寬度。
4.精確度:指在小數點後的浮點數位數。
型態,轉換字元:
% 印出百分比符號,不轉換。
b 整數轉成二進位元。
c 整數轉成對應的 ASCII 字元。
d 整數轉成十進位元。
f 倍精確度數字轉成浮點數。
o 整數轉成八進位元。
s 整數轉成字串。
x 整數轉成小寫十六進位。
X 整數轉成大寫十六進位。
例子:
1: <?php 2: 3: $money1 = 68.25; 4: $money2 = 54.35; 5: $money = $money1 + $money2;6: // 此時變數 $money 值為 "123.1";
7: $formatted = sprintf ("%01.2f", $money);
8: // 此時變數 $ formatted 值為 "123.10"
9: 10: ?>這個%01.2f是什麼意思呢?
首先這個%符號是開始的意思,他寫在最前面表示指定格式要開始了。也就是「起始字元」,直到出現「轉換字元」為止,就算格式終止。然後跟在%符號後面的是0這個零是「填空字元」表示,如果位置空著就用0來填滿。
在0後面的是1這個1是規定小數點前面的數字占位元要有1位以上。
如果把1改成2如果$money的值為1.23,則$formatted的值將變為01.23。因為,在小數點前面的數字只占了1位元,按照上面所規定的格式,小數點前數字應該占2位元,現在只有1位,所以用0來填滿。
在%01後面的.2就很好理解了,它的意思是規定小數點後的數字必需占2位元。如果這時候,$money的值為1.234,則$formatted的值將為1.23。為什麼4不見了呢?因為按照上面的規定,在小數點後面必需且僅能占2位。可是$money的值中,小數點占了3位,所以4被去掉了,只剩下23。
最後,以f轉換字元結尾,其他轉換字元請自行參考上面的轉換字元清單。
[關於對齊]
如果在%起始符號後面加上-(負號),將會把數位以向右對齊的方式進行處理。
看下面實例:
1: <?php 2: 3: $money = 1.4;4: $formatted = sprintf ("%-02.2f", $money);
5: echo $formatted;
6: 7: ?>2011年6月8日 星期三
2011年6月3日 星期五
回上一頁表單清空
在[PHP]:
header(”Cache-Control: no-store, no-cache, must-revalidate”);
header(”Cache-Control: post-check=0, pre-check=0″, false);
在[ASP]:
meta http-equiv=”Pragma” content=”no-cache”
meta http-equiv=”Cache-Control” content=”no-cache”
meta http-equiv=”Expires” content=”0″