❶ php怎麼把mysql裡面的兩位數字前面補一個0變成三位顯示,如圖
我大概明白的你的問題,有幾個解決的辦法
1, 該欄位改成字元串類型
2. 如果該欄位保證為3位, 該欄位設置Zeroill
3. 頁面輸出的時候做處理, <100 補前綴
❷ PHP怎樣在不足兩位數前加 0 補足兩位數
最笨最實用的辦法:
<?php
for($i=1;$i<=120;$i++){
if(strlen($i)==1){
echo"00".$i."<br/> ";
}elseif(strlen($i)==2){
echo"0".$i."<br/> ";
}else{
echo$i."<br/> ";
}
}
?>
❸ php 數組里的數字前補0,應該如果寫
思路給你提供一下 循環一下 然後strlen
如果為1則補0
補的方法有兩種 所有的值寫入新數組
或者 &$value
❹ php mysql 數據按月統計 沒有的月份怎樣補0
沒有的月份是不是沒有數據記錄,原始表中如果有相應月份的時間,並且estimated_cost欄位數據是0,這句話應該能顯示。
如果沒有9月份的addtime的記錄,肯定搜不出來。
但是在資料庫中添加一個為0的記錄又沒有什麼意義,所以如果要顯示0,可以用php操作Select的結果
【思路:將結果存入數組,對month排序,從數組第一個月份開始,到數組中最後一個月份為止進行循環,碰到沒有的月份在數組中插入對應月份和0值】
❺ 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;
}
?>
❻ php怎麼將16進制浮點型數字轉為十進制
步驟:
1、234.324轉換為二進制 11101010.01010…… 這會損失精度,別說不知道
然後科學計數法表示為,1.1101……*2^7
2、127+指數7 二進制為10000110
3、【0】【10000110】【1101……】,0表示正數,中間為2步驟的二進制,後面為23位科學計數法中的小數點後數字,不足後面補0
4,每4位轉換到一個16進制數,0100 0011 0110 ……轉換
4 3 6 ……
❼ php數字字元串位數不足補0 $a="1,10,8,25,34"; 想得到的效果:01,10,08,25,34 請問怎樣實現
就用到一個函數:strlen(),判斷字元串長度:如果長度為1的就用「0」和原string組裝一下;如果長度為2就正常返回即可;
❽ 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;
}
❾ 利用PHP隨機出現0到1000的數,不足四位的前面用0補足
運行以下代碼就可以得到0-1000的隨機數:
$str=rand(0,1000);
$str1=sprintf("%04u",$str);
echo $str1;
❿ PHP語言PHP語言里的位運算符&、|、^ 、~、〈〈 、〉〉這些符號我一個也不懂,希望高手給個全面的解釋!拜
"&" 按位與運算
按位與運算符"&"是雙目運算符。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1,否則為0。參與運算的數以補碼方式出現。
例如:9&5可寫算式如下:
00001001 (9的二進制補碼)
&00000101 (5的二進制補碼)
00000001 (1的二進制補碼)
<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a&$b);
?>
"|" 按位或運算
按位或運算符「|」是雙目運算符。其功能是參與運算的兩數各對應的二進位相或。只要對應的二個二進位有一個為1時,結果位就為1。參與運算的兩個數均以補碼出現。
例如:9|5可寫算式如下:
00001001
|00000101
00001101 (十進制為13)可見9|5=13
<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a|$b)."\n"; //二進制
echo sprintf("%d", $a|$b)."\n"; //十進制
"^" 按位異或運算
按位異或運算符「^」是雙目運算符。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。參與運算數仍以補碼出現,例如9^5可寫成算式如下:
00001001
^00000101
00001100 (十進制為12)
<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a^$b)."\n"; //二進制
echo sprintf("%d", $a^$b)."\n"; //十進制
"~" 求反運算
求反運算符~為單目運算符,具有右結合性。其功能是對參與運算的數的各二進位按位求反。
例如~9的運算為:
~(0000000000001001)結果為:1111111111110110
<?php
$a = 9;
$b = 5;
echo sprintf("%b", ~$a)."\n"; //二進制
"〈〈" 左移運算
左移運算符「<<」是雙目運算符。其功能把「<< 」左邊的運算數的各二進位全部左移若干位,由「<<」右邊的數指定移動的位數,高位丟棄,低位補0。
例如:
a<<4
指把a的各二進位向左移動4位。如a=00000011(十進制3),左移4位後為00110000(十進制48)。
<?php
$a = 3;
$temp = $a<<4;
echo sprintf("%d", $temp)."\n"; //十進制
「>>」 右移運算
右移運算符「>>」是雙目運算符。其功能是把「>> 」左邊的運算數的各二進位全部右移若干位,「>>」右邊的數指定移動的位數。
例如:
設 a=48,
a>>4
表示把00110000右移為00000011(十進制3)。
應該說明的是,對於有符號數,在右移時,符號位將隨同移動。當為正數時,最高位補0,而為負數時,符號位為1,最高位是補0或是補1 取決於編譯系統的規定
<?php
$a = 48;
$temp = $a>>4;
echo sprintf("%d", $temp)."\n"; //十進制