printf()函数优点在于可以格式化输出

格式:

  %['padding_character][-][width][.precision]type

  所有的转换说明都是以%开始,如果想打印一个%符号,必须用%% ;

  参数“'padding_character”是可选,它将被用来填充变量直至所指定的宽度,该参数的作用就在变量前面填充,默认的填充字符是一个空格,如果指定“0”或者“ ”(空格),就不需要“'”单引号作为前缀,其他字符就必须指定“'”作为前缀;

  参数“-”是可选,它指左对齐,默认是右对齐;

  参数“width”是指被替换的变量的长度;

  参数“.precision”表示以小数点开始,它指明小数点后要显示的位数;

  参数“type”是类型码,请看下表:
    类型   |    含义
    b      |    解释为整数并作为二进制输出
    c      |    解释为整数并作为字符表示输出(ASCII码)
    d      |    解释为整数并作为整数输出
    f      |    解释为双精度并作为浮点数输出
    o      |    解释为整数并作为八进制数输出
    s      |    解释为字符串并为字符串输出
    u      |    解释为整数并作为非指定小数输出
    x      |    解释为整数并作为带有小写字母a-f的十六进制数输出
    X      |    解释为整数并作为带有大写字母A-F的十六进制数输出

示例:

<?php

$out = "The Books\n";
$books = array("Book 1", "Book 2", "Book 3");
$pages = array("123 pages ", "234 pages", "345 pages");
for ($i = 0; $i < count($books); $i++) {
//第一个变量左对齐,宽度20,不足长度使用.号填充;第二个变量右对齐,宽度为7,左截取4个字符,不足使用.号对齐
    $out .= sprintf("%'.-20s%'.7.4s\n", $books[$i], $pages[$i]);
}
echo $out;

// Outputs:
// 
// The Books
// Book 1.................123 
// Book 2.................234 
// Book 3.................345

$s = 'monkey';
$t = 'many monkeys';

printf("[%s]\n",      $s); // standard string output
printf("[%10s]\n",    $s); // right-justification with spaces
printf("[%-10s]\n",   $s); // left-justification with spaces
printf("[%010s]\n",   $s); // zero-padding works on strings too
printf("[%'#10s]\n",  $s); // use the custom padding character '#'
printf("[%10.10s]\n", $t); // left-justification but with a cutoff of 10 characters 
?>

测试结果:

The Books
Book 1.................123 
Book 2.................234 
Book 3.................345

[monkey]
[    monkey]
[monkey    ]
[0000monkey]
[####monkey]
[many monke]

sprintf()的用法和printf()完全一致,只是sprintf()将返回格式化的结果,并不直接输出结果。

PHP函数printf()、sprintf()的用法相关推荐

  1. 三个打印函数printf()/sprintf()/snprintf()区别

    先贴上其函数原型 printf( const char *format, ...)    格式化输出字符串,默认输出到终端-----stdout sprintf(char *dest, const c ...

  2. C语言学习——sprintf函数详细解释及其用法

    函数功能: 把格式化的数据写入某个字符串 头文件: stdio.h 函数原型: int sprintf( char *buffer, const char *format, [ argument] - ...

  3. C语言学习笔记---打印函数printf()和sprintf()函数

    printf()函数   在C语言中使用最多的打印函数就是printf(),它可以将各种类型的数据转换为字符串输出. int main(int argc, char *argv[]) {char na ...

  4. printf格式化字符串用法

    printf()格式化输出详解 % - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少. ②-:有-表示左对齐输出,如省略表示右对齐输出. ③ ...

  5. C语言中的格式化打印printf/sprintf以及嵌入式printf重定向进行DEBUG

    一.printf描述 在C语言中,打印函数主要包括printf/sprintf/fprintf/snprintf等等,目的是将"给定的内容"按照"指定的格式"输 ...

  6. 常用函数总结——sprintf

    本文内容转自http://blog.csdn.net/sjf331/article/details/339254 printf 可能是许多程序员在开始学习C 语言时接触到的第二个函数(我猜第一个是ma ...

  7. c++中的fork函数_linux c语言 fork() 和 exec 函数的简介和用法

    linux c语言 fork() 和 exec 函数的简介和用法 假如我们在编写1个c程序时想调用1个shell脚本或者执行1段 bash shell命令, 应该如何实现呢? 其实在<stdli ...

  8. sprintf在c语言中的作用,c语言中sprintf的用法

    c语言中sprintf的用法的用法你知道吗?下面小编就跟你们详细介绍下c语言中sprintf的用法的用法,希望对你们有用. c语言中sprintf的用法的用法如下: sprintf函数的用法 1.该函 ...

  9. calloc、malloc、realloc函数的区别及用法

    calloc.malloc.realloc函数的区别及用法! 三者都是分配内存,都是stdlib.h库里的函数,但是也存在一些差异. (1)malloc函数.其原型void *malloc(unsig ...

  10. printf, sprintf - 转换成指定格式的输出结果.

    名称: printf, sprintf - 转换成指定格式的输出结果. 语法: void printf( string format, ... ); string sprintf( string fo ...

最新文章

  1. 操作系统中进程并发运行的过程_三种电磁流量计运行过程中常见故障解决详情!...
  2. 使用Spring Security 5进行密码编码器迁移
  3. 雅虎yql_从RSS Feed和YQL创建数据表
  4. Java常用类(3)--Java比较器Comparable、Comparator类
  5. pq 中m函数判断嵌套_压轴题的热点,二次函数与几何的结合,谁会谁吃香
  6. mongodb统计函数
  7. 职业发展加速器,埃森哲智能云服务创新中心热招云人才
  8. 用计算机写试卷反思,计算机试卷
  9. [shell] IT运维之Linux服务器监控方案
  10. 如何在Android上显示警报对话框?
  11. 使用MyEclipse的自动提醒功能卡死MyEclipse的激活
  12. 训练猫咪,一本书就够了
  13. U盘使用终极攻略,看你知道多少
  14. 《看美女不掉头发》【C语言】求一个数是否为素数的四种方法
  15. 关于G0、G1、G2、G3的名词解释
  16. PHPMyWind支持PDF粘贴
  17. python计算化学浓度_计算化学操作流程-孙磊.pdf
  18. 软件外包那些坑(一)
  19. 无需任何软件即可永久激活Window
  20. 台式计算机最强配置,台式电脑最好的配置单 台式电脑最好的配置单是怎样的...

热门文章

  1. PyTorch 笔记(10)— Tensor 与 NumPy 相互转换、两种共享内存以及两者的广播法则
  2. 深入分析jquery解析json数据
  3. MySQL修改和查看表类型
  4. try-catch-finally对返回值的影响
  5. CF331A1,331A2
  6. 通过tinyxml解析百度热词榜单
  7. uefi怎么添加linux启动项,LINUX下EFIBOOTMGR的使用,删除UEFI主板多余启动项和添加启动项...
  8. php上传图片到文件夹,2018.09.14PHP获取页面上传的图片存到指定文件夹再存到数据库中...
  9. golang int64转string_Golang 并发数据冲突检测器与并发安全
  10. mysql内连接运算量会增加多少_新年手打,40道经典MYSQL面试干货,速来收藏