高逼格的函数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']);