導航:首頁 > 編程語言 > php生成001

php生成001

發布時間:2022-10-20 07:37:10

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如何輸出0-9任選可重復3個數字所有組合

$res=array();

for($i=0;$i<10;$i++)
{
for($j=0;$j<10;$j++)
{
for($k=0;$k<10;$k++)
{
$item=$temp=[$i,$j,$k];
sort($temp,1);//把每項當做數值升序
$temp=implode('',$temp);//轉字元串
if(!in_array($temp,$res))
$res[]=implode('',$item);
}
}
}

⑶ php數字遞增 001 in 002 in 003 逐步遞增

<?php

//for循環從1到10
for($i=1;$i<=10;$i++){
//格式化輸出%03d佔3位空間,空白用0補
printf("%03d ",$i);
}

?>

結果:

⑷ 簡單高分問題,php,實現001遞增

function autoInc($num,$step=1){
$arr=str_split($num);
$count=count($arr);
for($i=0,$zero_count=0,$num_new='',$flag=0;$i<$count;$i++){
if($arr[$i]=='0' and $flag==0){
$zero_count++;
}
elseif(is_numeric($arr[$i])){
$flag=1;
$num_new.=$arr[$i];
}
else{
exit('錯誤:含有非數字字元');
}
}
$num_new=intval($num_new)+$step;
if($num_new>pow(10,$count-1)){
return $num_new;
}
else{
return str_pad('',$count-count(str_split($num_new)),'0').($num_new);
}
}

這是我剛剛封裝的函數.

調用方法:
比如給 0003445自增,步進為5,
則 echo autoInc('0003445',5);
如果步進為1,$step參數可省略.

另外需要注意的是,autoInc('0003445',5)不能寫作autoInc(0003445,5),因為php中對0打頭的數字是以八進制處理的,呵呵

忘了intval也可以將前面的無效0給忽略了,所以,函數改進了下,效率應該高了些:
function autoInc($num,$step=1){
$count=count(str_split($num));
$num_new=intval($num)+$step;
if($num_new>pow(10,$count-1)){
return $num_new;
}
else{
return str_pad($num_new,$count,'0',STR_PAD_LEFT);
}
}

⑸ php 要做個編號 000001 點擊一下 編號編成000002 然後到10的時候000010 依次類推 怎麼寫程序

<?php

for($i=0;$i<10;$i++)

echostr_pad($i,6,'0',STR_PAD_LEFT).'<br/>';

000000

000001

000002

000003

000004

000005

000006

000007

000008

000009

==========

再看了下題,如果僅僅是按鈕

<inputid='b'type='button'value='000000'/>

<scripttype="text/javascript">

varb=document.getElementById('b');

b.onclick=function(){

vart=(parseInt(b.value)+1).toString();

b.value='000000'.substr(0,6-t.length)+t;

}

</script>

====

效果不錯

⑹ php怎樣做一個帶有id的分享鏈接

思路很簡單:既然是唯一的URL地址,那麼你用注冊的URL,比如是index.php/register/index,然後你在後面加上用戶的唯一參數,用UID比較合適。就會變成index.php/register/index/id/001 這樣,然後你在注冊(register)控制器下的index方法中判斷一下isset($_GET[id]),如果有id,你就將對應這個id的用戶積分+1。

ps:tp有兩年沒用了,不太記得url的路由是什麼樣子,上面的url只是隨便舉個列子。然後就是id參數後面的001最好加密一下,防止在發的時候被別人簡單的修改,一定要用對稱加密,不然你自己解密不了。

⑺ PHP數字字元串左側補0、字元串填充和自動補齊的幾種方法

一、數字補0.
如果要自動生成學號,自動生成某某編號,就像這樣的形式「d0000009」、「d0000027」時,那麼就會面臨一個問題,怎麼把左邊用0補齊成這樣8位數的編碼呢?我想到了兩種方法實現這個功能。
方法一:
先構造一個數字10000000,千萬,也就是一個1,7個0,然後加上當前的編號(比如是3),那麼就得到
10000003,用字元串截取
substr('10000003',1,7)後就得到0000003,最後在與「d」拼接,就得到了最終的編號d0000003。
源碼如下:
復制代碼
代碼如下:
<?php
$num
=
3;
$temp_num
=
10000000;
$new_num
=
$num
+
$temp_num;
$real_num
=
"d".substr($new_num,1,7); //即截取掉最前面的「1」
echo
$real_num;
?>
方法二:
測出當前編號(比如是3)的長度strlen('3')=1,用要生成編號的總長度減去當前編號長度,得到需要填充0的個數,然後再用for循環填充0即可。
源碼如下:
復制代碼
代碼如下:
<?php
$num
=
3;
$bit
=
7;//產生7位數的數字編號
$num_len
=
strlen($num);
$zero
=
'';
for($i=$num_len;
$i<$bit;
$i++){
$zero
.=
"0";
}
$real_num
=
"d".$zero.$num;
echo
$real_num;
?>
方法三:另外幾種方法
復制代碼
代碼如下:
<?php

$sourceNumber
=
"1";

$newNumber
=
substr(strval($sourceNumber+1000),1,3);

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

$newNumber
=
substr(strval($sourceNumber+100000),1,5);
?>
/*其實就是總共要顯示幾位數字,就把$sourceNumber+1後面補上多少個0,最後一個數字就直接改成顯示幾位數字。*/
復制代碼
代碼如下:
/*string
str_pad
(
string
$input,
int
$pad_length
[,
string
$pad_string
[,
int
$pad_type]]
)*/
<?php
$input
=
"Alien";
echo
str_pad($input,
10);
//
proces
"Alien
"
echo
str_pad($input,
10,
"-=",
STR_PAD_LEFT);
//
proces
"-=-=-Alien"
echo
str_pad($input,
10,
"_",
STR_PAD_BOTH);
//
proces
"__Alien___"
echo
str_pad($input,
6
,
"___");
//
proces
"Alien_"
?>
/*補齊字元串的長度.以pad_string
補.默認補在右邊,如果STR_PAD_LEFT就補到左邊,STR_PAD_BOTH兩邊一起補。下次用str_pad,畢竟是內置的,肯定比自定義的快。*/
復制代碼
代碼如下:
/*
你上面的方法我覺得不怎麼好,介紹一下我寫的一個方法。方法函數如下,這樣當你要的結果001的話,方法:dispRepair('1',3,'0')
功能:補位函數
str:原字元串
type:類型,0為後補,1為前補
len:新字元串長度
msg:填補字元
*/
function
dispRepair($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字元串自動填充、自動補全

方法一:
復制代碼
代碼如下:$newStr=
sprintf('%05s',
$str);
sprintf()的功能非常靈活,上面的格式字元串中,「%05s
」表示輸出成長度為5的字元串,如果長度不足,左邊以零補全;如果寫成
「%5s
」,則默認以空格補全;如果希望使用其它字元補全,則要在該字元前加上單引號,即形如「%'#5s
」的表示以井號補全;最後,如果希望補全發生在
字元串右邊,則在百分號後加上減號,「%-05s
」。
方法二:
[code]$cd_no
=
str_pad(++$next_cd_no,8,'#',STR_PAD_LEFT);
str_pad(string,length,pad_string,pad_type):具體用法查看手冊。
string
必需。規定要填充的字元串。
length
必需。規定新字元串的長度。如果該值小於原始字元串的長度,則不進行任何操作。
pad_string
可選。規定供填充使用的字元串。默認是空白。
pad_type
可選。規定填充字元串的那邊。
這兩種方法很方便的實現了PHP字元串的自動補全功能。

⑻ php如何講一位整數轉換成多位整數啊,比如1轉換成001的形式,用那個函數啊,不能夠用字元拼接。--

sprintf -- Return a formatted string
string sprintf ( string format [, mixed args [, mixed ...]] )
如:echo sprintf("%03d", 1) , 輸出001
具體請參考php手冊

⑼ 求PHP語言隨機自動生成不重復的數字

//$count 隨機碼長度
function mrand($count){
$code = '';

for($i=0;$i<$count;$i++){
$code .= mt_rand(0,9);

}

return $code;

}
你還可以在這基礎上擴展,變成還可以選擇隨機碼類型
//生成不重復數字
function gettmp($count){
$temp = aray();

$code = mrand(3);
$i = 0;

while($i < $count){
if(!in_array($code,$temp)){
$temp[] = $code;

$i = $i + 1;

}
}
return $temp;
}

⑽ php代碼怎麼寫001到999的循環

<?php
for($i=1;$i<1000;$i++){
if(strlen($i)==1){
echo"00".$i."<br>";
}
if(strlen($i)==2){
echo"0".$i."<br>";
}
if(strlen($i)==3){
echo$i."<br>";
}
}
?>

顯示為結果為您說的 001——999

閱讀全文

與php生成001相關的資料

熱點內容
浙江標准網路伺服器機櫃雲主機 瀏覽:587
設置網路的伺服器地址 瀏覽:600
java圖形界面設計 瀏覽:751
純前端項目怎麼部署到伺服器 瀏覽:538
瓜子臉程序員 瀏覽:505
如何保證伺服器優質 瀏覽:94
小微信aPP怎麼一下找不到了 瀏覽:299
演算法纂要學術價值 瀏覽:975
程序員你好是什麼意思 瀏覽:801
倩女幽魂老伺服器如何玩 瀏覽:561
電子鍾單片機課程設計實驗報告 瀏覽:999
看加密頻道 瀏覽:381
程序員算不算流水線工人 瀏覽:632
三星電視我的app怎麼卸載 瀏覽:44
簡述vi編譯器的基本操作 瀏覽:507
讓程序員選小號 瀏覽:91
加強數字貨幣國際信息編譯能力 瀏覽:584
購買的app會員怎麼退安卓手機 瀏覽:891
程序員的種類及名稱 瀏覽:294
美國程序員薪資 瀏覽:14