高逼格的函数printf sprintf的使用

高逼格的函数printf sprintf的使用

对于大多数php选手来说只需要使用print(),echo()这两个函数来显示文本和变量就足够用了,但是高级的选手就经常使用printf(),sprintf()函数,这个函数可以显示文本,还可以设置输出的格式。

printf(string format[, mixed arguments]);

format是由直接文本内容和特殊格式参数组成,特殊格式参数由“%”开始,可以多种组合。

“+”可以在数字前面添加个加号。

常用的字符类型说明:

b:二进制数

c:ASCII值的字符

d:带符号十进制数

u:无符号十进制

f:浮点数

o:八进制数

s:字符串

x:十六进制

printf("b: %b,c:%c,d:%d,f:%f", 80,80,1,1);
//输出:b:1010000,c:P,d:1,f:1.000000;
printf("the %s is %0.2f", 'number', 100);
//输出the number is 100.00

sprintf和printf的用法几乎一样,唯一的区别是sprintf不直接输出而是返回组装好的字符串,这使得在组长sql语句的时候将非常好用

$conn = mysqli_connect('localhost', 'root', 'root');
$sql = sprintf("insert into users (name, email, age, avg_score) vluses(%s, %s, %d, $0.2f)", $name, $email, $age, $avg_score);
mysqli_query($conn, $sql);

和printf()一样好用的还有vprintf(),和vsprintf()不同的是这两个函数只接收两个参数,格式和一个数组,要注意数组的顺序

vprintf("%0.2f score is %s", [100, 'very good']);

vsprintf("%0.2f score is %s", [100, 'very good']);

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据