導航:首頁 > 編程語言 > php數字補零

php數字補零

發布時間:2022-08-19 22:58:30

A. php 我想寫個循環 但是數字是3位的 就是 001 002 003 004 005 006 007 008 009 010 011 前面帶有個零

php格式化數字:位數不足前面加0補足

先實例,後講解

PHP代碼
1.<?php
2.$var=sprintf("%04d", 2);//生成4位數,不足前面補0
3.echo $var;//結果為0002
4.?>
PHP字元串sprintf()函數

語法
sprintf(format,arg1,arg2,arg++)
參數 描述
format 必需。轉換格式。
arg1 必需。規定插到 format 字元串中第一個 % 符號處的參數。
arg2 可選。規定插到 format 字元串中第二個 % 符號處的參數。
arg++ 可選。規定插到 format 字元串中第三、四等等 % 符號處的參數。

說明
參數 format 是轉換的格式,以百分比符號 ("%") 開始到轉換字元結束。下面的可能的 format 值:

•%% - 返回百分比符號
•%b - 二進制數
•%c - 依照 ASCII 值的字元
•%d - 帶符號十進制數
•%e - 可續計數法(比如 1.5e+3)
•%u - 無符號十進制數
•%f - 浮點數(local settings aware)
•%F - 浮點數(not local settings aware)
•%o - 八進制數
•%s - 字元串
•%x - 十六進制數(小寫字母)
•%X - 十六進制數(大寫字母)
arg1, arg2, ++ 等參數將插入到主字元串中的百分號 (%) 符號處。該函數是逐步執行的。在第一個 % 符號中,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。

PHP代碼
1.<?php
2.$number = 123;
3.$txt = sprintf("%f",$number);
4.echo $txt;
5.?>

循環很簡單:
<?php
$number=0;
if($number<100)
{
$number=$number+1;
$txt=sprintf("%03d",$number);//生成3位數,不足前面補0
echo $txt;
}
?>

B. php怎麼把mysql裡面的兩位數字前面補一個0變成三位顯示,如圖

我大概明白的你的問題,有幾個解決的辦法
1, 該欄位改成字元串類型
2. 如果該欄位保證為3位, 該欄位設置Zeroill
3. 頁面輸出的時候做處理, <100 補前綴

C. PHP中date的用法是什麼

$t=time(); //時間參數 時間戳
echo date("Y-m-d H:i:s",$t);

第一個參數的格式分別表示:
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 幾日,二位數字,若不足二位則前面補零; 如: "01" 至 "31"
D - 星期幾,三個英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小時制的小時; 如: "01" 至 "12"
H - 24 小時制的小時; 如: "00" 至 "23"
g - 12 小時制的小時,不足二位不補零; 如: "1" 至 12"
G - 24 小時制的小時,不足二位不補零; 如: "0" 至 "23"
i - 分鍾; 如: "00" 至 "59"
j - 幾日,二位數字,若不足二位不補零; 如: "1" 至 "31"
l - 星期幾,英文全名; 如: "Friday"
m - 月份,二位數字,若不足二位則在前面補零; 如: "01" 至 "12"
n - 月份,二位數字,若不足二位則不補零; 如: "1" 至 "12"
M - 月份,三個英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序數,二個英文字母; 如: "th","nd"
t - 指定月份的天數; 如: "28" 至 "31"
U - 總秒數
w - 數字型的星期幾,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位數字; 如: "1999"
y - 年,二位數字; 如: "99"
z - 一年中的第幾天; 如: "0" 至 "365"

D. php 數組里的數字前補0,應該如果寫

思路給你提供一下 循環一下 然後strlen

如果為1則補0

補的方法有兩種 所有的值寫入新數組
或者 &$value

E. PHP幾種數字左側自動補0

1.[代碼][PHP]代碼

<?php
$sourceNumber="1";
$newNumber=substr(strval($sourceNumber+1000),1,3);
echo"$newNumber";
?>
/*這個時候就會出現:001
如果要增加位數的話可以將1000加大,然後把3也加大。
舉例:如果我要補上"4個0"第03行就要變成這樣。*/


2.[代碼][PHP]代碼
<?php
$newNumber=substr(strval($sourceNumber+100000),1,5);
?>
/*其實就是總共要顯示幾位數字,就把$sourceNumber+1後面補上多少個0,最後一個數字就直接改成顯示幾位數字。*/


3.[代碼][PHP]代碼

/*stringstr_pad(string$input,int$pad_length[,string$pad_string[,int$pad_type]])*/
<?php
$input="Alien";
echostr_pad($input,10);
//proces"Alien"
echostr_pad($input,10,"-=",STR_PAD_LEFT);
//proces"-=-=-Alien"
echostr_pad($input,10,"_",STR_PAD_BOTH);
//proces"__Alien___"
echostr_pad($input,6,"___");
//proces"Alien_"
?>
/*補齊字元串的長度.以pad_string補.默認補在右邊,如果STR_PAD_LEFT就補到左邊,STR_PAD_BOTH兩邊一起補。下次用str_pad,畢竟是內置的,肯定比自定義的快。*/


4.[代碼][PHP]代碼

/*
你上面的方法我覺得不怎麼好,介紹一下我寫的一個方法。方法函數如下,這樣當你要的結果001的話,方法:dispRepair('1',3,'0')
功能:補位函數
str:原字元串
type:類型,0為後補,1為前補
len:新字元串長度
msg:填補字元
*/
functiondispRepair($str,$len,$msg,$type='1'){
$length=$len-strlen($str);
if($length<1)return$str;
if($type==1){
$str=str_repeat($msg,$length).$str;
}else{
$str.=str_repeat($msg,$length);
}
return$str;
}

F. php數組轉換,數字前補0,如何處理,請指點,但不是指指點點,呵呵

可以使用php內置函數str_pad() 函數把字元串填充為新的長度。
str_pad(string,length,pad_string,pad_type)
參數
string //必需。規定要填充的字元串。
length //必需。規定新的字元串長度。如果該值小於字元串的原始長度,則不進行任何操作。
pad_string //可選。規定供填充使用的字元串。默認是空白。
pad_type //可選。規定填充字元串的哪邊。
詳細用法請參考:https://panxu.net/article/8395.html

G. 關於php 位運算符的問題

這個涉及到系統底層,WEB開發中幾乎沒用到,知道下有這個東西就好了。底層的東西解釋總是簡單不了的。
變數在內存中的存放都是二進制數字。整數在32位系統上是佔用4位元組,一個位元組是8位,也就是32位,位運算就是位級的運算操作了。

$a << $b Shift left(左移) 將 $a 中的位向左移動 $b 次(每一次移動都表示「乘以 2」)。
假定變數 $a 的值是 3,$b 的值是 2。
那麼 $a 在內存中的存放的格式是:
00000000 00000000 00000000 00000011
每執行一次左移,都將所有的位向左移動,右邊補零,左邊超過的舍棄。
所以 $a 左移 2 得到的是:
00000000 00000000 00000000 00011000
也就是 12。相當於 3 × 2 × 2 = 12。

$a >> $b Shift right(右移) 將 $a 中的位向右移動 $b 次(每一次移動都表示「除以 2」)。
假定變數 $a 的值是 24,$b 的值是 2。
那麼 $a 在內存中的存放的格式是:
00000000 00000000 00000000 00011000
每執行一次右移,都將所有的位向由移動,右邊超過的舍棄,左邊空出的位補零。
所以 $a 右移 2 得到的是:
00000000 00000000 00000000 00000110
也就是 6。相當於 24 ÷ 2 ÷ 2 = 6。

位移運算是系統底層運算,運算的速度比乘除還要快很多,優化代碼優化到極致的時候,可以將數換算成二的公倍數,然後進行位移計算。但在WEB開發中幾乎沒有任何必要,而且超過系統底層了,程序在的可移植性就會降低。

其他的位運算符也是差不多的。比如:
$a & $b And(按位與) 將把 $a 和 $b 中都為 1 的位設為 1。
假定變數 $a 的值是 5,$b 的值是 6。
$a:
00000000 00000000 00000000 00000101
$b:
00000000 00000000 00000000 00000110
$a & $b :
00000000 00000000 00000000 00000101
00000000 00000000 00000000 00000110
───────────────────────────
00000000 00000000 00000000 00000100
豎的看,上下都是 1 的得到 1 ,否則就是 0。
所以 $a & $b = 4。

~ $a Not(按位非) 將 $a 中為 0 的位設為 1,反之亦然。
~ $a:
00000000 00000000 00000000 00000101
───────────────────────────
11111111 11111111 11111111 11111010
如果 $a 是有符號整數,第一位是符號位,1表示負數,那麼 ~ $a = -2147483642。
如果 $a 是無符號整數,第一位還是數據位,那麼 ~ $a = 4294967290。

以下的就不詳細介紹了:
$a | $b Or(按位或) 將把 $a 或者 $b 中為 1 的位設為 1。
$a ^ $b Xor(按位異或) 將把 $a 和 $b 中不同的位設為 1。

平常說的幾位的系統,就是系統處理整數的時候,是多少個位同時計算的,上面的例子都是基於32位系統。因為移動時超過的位將被舍棄,如果是64位或12位的,位移的結果就可能不一樣了,要將計算時位的數量調整下。

H. php數字字元串位數不足補0 $a="1,10,8,25,34"; 想得到的效果:01,10,08,25,34 請問怎樣實現

就用到一個函數:strlen(),判斷字元串長度:如果長度為1的就用「0」和原string組裝一下;如果長度為2就正常返回即可;

I. PHP位運算符理解

左移1位=>*2
右移1位=>/2

閱讀全文

與php數字補零相關的資料

熱點內容
把加密zip變成文件夾 瀏覽:213
linuxrecv阻塞 瀏覽:44
java模擬cookie 瀏覽:175
主角變身女收女的變百小說 瀏覽:758
粉筆教育app從哪裡看做過的題 瀏覽:391
app數據包在哪裡找到 瀏覽:923
百煉成仙綠帽改編1-11 瀏覽:109
女主和一對雙胞胎兄弟 瀏覽:437
刀劍神域小說TXT 瀏覽:1000
php獲取文件地址 瀏覽:578
linuxsed替換字元 瀏覽:413
如何填寫國家反詐中心app注冊使用 瀏覽:792
日本影視網站 瀏覽:933
伺服器點亮埠以後有什麼特徵 瀏覽:980
51單片機定時器pwm 瀏覽:685
民國修真 瀏覽:386
php數組作為參數傳遞 瀏覽:991
運行命令查ip 瀏覽:202
漲奶吃奶小說 瀏覽:340
股票十大戰法主圖指標源碼 瀏覽:702