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大佬讲的内容有点难,努力去理解吧. 毕竟知识 ...
- BZOJ 3998: [TJOI2015]弦论 [后缀自动机 DP]
3998: [TJOI2015]弦论 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 2152 Solved: 716[Submit][Status] ...
- webstorm你不知道的秘密
相信你们用webstorm肯定都会用上下面介绍的Emmet插件这个可以自带的哦 Emmet语法 子代:> 兄弟:+ 父代:^ 重复:* 成组:() ID:# class:. 属性:[] 编号:$ ...
- ionic2+Angular 使用HttpInterceptorService拦截器 统一处理数据请求
sstep1:新建http-Interceptor.ts文件 import { Injectable } from '@angular/core'; import { HttpInterceptorS ...
- 【Tools】Pycharm 2018专业版 linux安装教程 附2018专业版密钥
Linux安装pycharm2018专业版 1. 下载安装包 Pycharm下载地址:http://www.jetbrains.com/pycharm/download/ 2.终端打开你的安装包所在路 ...
- Java基础点滴
1. 关于interface的定义 [修饰符] interface 接口名 [extends 父接口名列表]{ [public] [static] [final] 常量;[public] [abstr ...
- Elasticsearch-深入理解索引原理
最近开始大面积使用ES,很多地方都是知其然不知其所以然,特地翻看了很多资料和大牛的文档,简单汇总一篇.内容多为摘抄,说是深入其实也是一点浅尝辄止的理解.希望大家领会精神. 首先学习要从官方开始地址如下 ...
- java5 - 数组与排序算法
数组是什么? 一.一维数组 1 声明与定义的区别 一般的情况下我们常常这样叙述, 把建立空间的声明称之为"定义", 而把不需要建立存储空间称之为"声明". 很明 ...
- Yii2重置密码
//Yii框架下hash密码正确的比较方法$result = Yii::$app->security->validatePassword($password, $hash);echo $r ...
- LNK2026 模块对于 SAFESEH 映像是不安全的
解决方法如下: 配置属性 -> 链接器 -> 命令行 位置添加如下内容: /SAFESEH:NO