导航:首页 > 编程语言 > 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数字补零相关的资料

热点内容
我的世界命令方块变恐龙 浏览:199
编程刀补app 浏览:104
章小蕙《桃色》迅雷下载 浏览:953
海外华人影视 浏览:521
书包网下载全本txt免费下载 浏览:618
电影一个男孩和女主偷情 浏览:820
归来by勤劳的小野猫 浏览:154
法国马蹄铁电影在线 浏览:263
中国大陆老动作全部电影 浏览:876
十大封禁爱情电影观看 浏览:489
推荐血恋同级别的电影 浏览:117
男主意外和女主有孩子 浏览:616
先收女后收母的小说 浏览:998
无卡顿在线视频 浏览:128
在网址前面加什么不需要vip 浏览:516
我叫王刚电影的女孩是谁 浏览:66
韩国伦理女演员李彩 浏览:879
虎丘网格化管理app在哪里下载 浏览:191
一个男孩在庄园里的电影 浏览:462
程序员技术做到极限 浏览:864