php sprintf用法
sprintf用来格式化字符串
说明
string sprintf ( string $format [, mixed $args [, mixed $... ]]
参数
| $format |
可能的格式值:
附加的格式值。必需放置在 % 和字母之间(例如 %.2f):
注意:如果使用多个上述的格式值,它们必须按照以上顺序使用。 |
| $args | 规定插到format字符串中 % 符号处的参数 |
进制转换
echo sprintf('%d', 0b11110)."\n"; //二进制转成十进制
echo sprintf('%d', 036)."\n"; //八进制转成十进制
echo sprintf('%d', 0x1e)."\n"; //十六进制转成十进制
echo sprintf('%x', 30)."\n"; //十进制转成十六进制
echo sprintf('%o', 30)."\n"; //十进制转成八进制,注意"%o\n"里的"o"是英文字母"o"
输出:
30 30 30 1e 36
控制长度
var_dump(sprintf('%.2f', 11.1111)); //2个小数位
var_dump(sprintf('%10.2f', 11.1111)); //最小长度10,2个小数位
var_dump(sprintf('%-10.2f', 11.1111)); //-表示左对齐,最小长度10,小数点后面最大长度2
var_dump(sprintf('%.5s', 'hello world')); //最大长度5,可以截取字符串喔
输出:
string(5) "11.11"
string(10) " 11.11"
string(10) "11.11 "
string(5) "hello"
补位
顾名思义就是长度不够的时候补齐,格式:百分号+单引号+补位符号+长度+类型
'是补位标志,跟在它后面的就是补位符号,比如我这要显示11个字符长度的手机号码,只显示后4位,其余用*号代替
$username = 'pigfly';
$phone = '12345678901';
echo sprintf("%'*11s", substr($phone, -4))."\n";
手机号截取后只剩下后4位了,我在前面补*,那么总长度是11,s是字符串类型,%'*11s就是这个意思
输出:
*******8901
占位符
格式:百分号+数字+$+类型
//注意这里不要用双引号把字符串包起来,这样会导致php去解析$s变量,或者你可以用\$转义
echo sprintf('Hi, %1$s~ your phone number is: %2$s, hope you will have a nice day, %1$s!', $username, $phone);
输出:
Hi, pigfly~ your phone number is: 12345678901, hope you will have a nice day, pigfly!
php sprintf用法的更多相关文章
- C++小知识之sprintf用法
sprintf 字串格式化命令,主要功能是把格式化的数据写入某个字符串中.sprintf 是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内存访问错误,但好在由sprintf ...
- sprintf 用法
字符串格式化命令,主要功能是把格式化的数据写入某个字符串中 试试下面的代码就知道了 #include<cstdio> #include<cstdlib> using names ...
- sscanf,sprintf用法
#include<string.h> #include<stdio.h> int main() { ],sztime1[],sztime2[]; sscanf("12 ...
- C plus plus sprintf用法
sprintf int sprintf ( char * str, const char * format, ... ); Write formatted data to string Compose ...
- sprintf用法
函数简介 函数功能:把格式化的数据写入某个字符串 头文件:stdio.h 函数原型:int sprintf( char *buffer, const char *format [, argument] ...
- c++ sprintf() 用法
1. char boxData[100]; fi.mWidth = 1.0, fi.mCenter_x= 2.1, fi.mCenter_y=1.1; sprintf(boxData, " ...
- WordPress翻译中 __()、_e()、_x、_ex 和 _n 的用法及区别
编译函数 WordPress使用了下面几个函数来方便语言本地化. __() _e() _x() _ex() _n() 以上所列的函数是用来包含所需翻译的字符串的,根据字符串的不同参数和输出类型,需要使 ...
- sprintf()详细介绍
sprintf 编辑词条 编辑词条 --> 字串格式化命令,主要功能是把格式化的数据写入某个字符串中.sprintf 是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内 ...
- sprintf格式化字符串安全问题
先看sprintf用法: 定义和用法 sprintf() 函数把格式化的字符串写入变量中. arg1.arg2.++ 参数将被插入到主字符串中的百分号(%)符号处.该函数是逐步执行的.在第一个 % 符 ...
随机推荐
- 夏令营讲课内容整理Day 0.
今年没有发纸质讲义是最气的.还好我留了点课件. 第一次用这个估计也不怎么会用,但尝试一下新事物总是好的. 前四天gty哥哥讲的内容和去年差不多,后三天zhn大佬讲的内容有点难,努力去理解吧. 毕竟知识 ...
- 从细菌GFF文件提取CDS序列并转换为氨基酸序列
最近在上生物信息学原理,打算记录一些课上的作业.第一次作业:如题. 基本思路: 1.从GFF中读取CDS的起始终止位置以及正负链信息.GFF格式见http://blog.sina.com.cn/s/b ...
- 在ConcurrentModificationException异常上的联想
1.什么是ConcurrentModificationException? 大家都听说过快速报错fast-fail吧,fast-fail的发生就是说明发生了ConcurrentModification ...
- 本地Linux服务器上配置Git
当我们需要拉取远程服务器代码到本地服务器时,我们首先要确定已经配置了正确的Git账号,可以从~/.gitconfig文件(为隐藏文件,需要使用ls -a查看),以及~/.ssh下的id_rsa.pub ...
- 读书共享 Primer Plus C-part 12
第十四章 结构和其他数据形式 1.关于上struct与union 的区别 #include<stdio.h> typedef union Book_u { int pags; int mo ...
- Swift百万线程攻破单例(Singleton)模式
一.不安全的单例实现 在上一篇文章我们给出了单例的设计模式,直接给出了线程安全的实现方法.单例的实现有多种方法,如下面: class SwiftSingleton { class var shared ...
- 从Vue.js源码角度再看数据绑定
写在前面 因为对Vue.js很感兴趣,而且平时工作的技术栈也是Vue.js,这几个月花了些时间研究学习了一下Vue.js源码,并做了总结与输出.文章的原地址:https://github.com/an ...
- linux磁盘及分区详解
1.Linux 分区简介 1.1 主分区 vs 扩展分区 硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两个分区,一个是主分区(Primary Partion)一个是扩展分区(extend ...
- linux 管理权限
linux 管理权限 linux 文件 权限 1.使用 ls -l 命令 执行结果如下(/var/log) : drwxr-x--- 2 root adm 4096 2013-08-07 11:03 ...
- 关于eclipse的mysql连接配置
打开eclipse,选择Window→Open Perspective→Other→Database Development,然后在右边的导航栏右键点击Database Connections文件夹, ...