热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于php的printf系列函数的文章进行排错,虽已100%测试过。

字符相关:%s

字符相关:

%s - 对应的变量双引号"中的值按照原样的内容插入到原字符串对应的'%s'符号位置。

%c - 参考'百度百科->标准ASCII表'相当于chr函数,可以接受整型或者字符串整型,
但只能接受十进制(64~127)、'Dec字段'、的ASCII值,然后插入原字符串中。

数字相关:

%d - 对应的变量是个整数或者字符串整数,它会按原样内容插入到原字符串对应的'%d'符号位置。

%f - 对应的变量是本地载取的浮点数,然后插入到原字符串对应的'%f'符号位置。

%F - 对应的变量是非本地载取的浮点数,然后插入到原字符串对应的'%F'符号位置。

%u - 对应的变量是个字符串整数并且还添加'符号',它会将把变量中的'符号'去除形成一个纯整数,然后插入到原字符串对应的'%u'符号位置。

%b - 如果对应的变量是个整型或者字符串整型,它会把原来的整型数字变量转换为一个二进制的格式,然后插入到原字符串对应的'%b'符号位置。默认整型为十进制!

%o - 如果对应的变量是个整型或者字符串整型,它会把原来的整型数字变量转换为一个八进制的格式,然后插入到原字符串对应的'%o'符号位置。默认整型为十进制!

%x - 如果对应的变量是个整型或者字符串整型,它会把原来的整型数字变量转换为一个十六进制的格式,然后插入到原字符串对应的'%x'符号位置。默认整型为十进制!

%X - 它和 '%X' 使用的方式基本相同,惟一不同的是它会将十六进制整数的字母转换为大写,然后插入到原字符串对应的'%X'符号位置。默认整型为十进制!

%e - 对应的变量必须是一个'科学记数法'的值 例如:'1.5e+3' 转换为:1.500000e+3 然后插入到原字符串对应的'%e'符号位置。

%E - 它和 '%e' 使用的方式基本相同,惟一不同的是它会将 '科学记数法' 中的 'e' 转换为大写的 'E' ,然后插入到原字符串对应的'%E'符号位置。

%g - 1、如果对应的变量中的值是个浮点数,
(小数点后面必须跟着是000,否则会按原样插入原字符串中。比如:小数点后面001!)
它会转换为整数插入到原字符串对应的'%g'符号位置。
2、如果对应的变量中的值是个'科学记数法'的值,它会进行压缩然后插入到原字符串对应的'%g'符号位置,
例如:'1.5e+3' 按照常规转换为:'1.500000e+3' 如果使用 '%g' 它会压缩转换为 '1500' 。

%G - 它和 '%g' 使用的方式基本相同,惟一不同的是它会将 '科学记数法' 中的 'e' 转换为大写的 'E' ,然后插入到原字符串对应的'%G'符号位置。

其它:

%% - 不需要对应的变量作为参数,直接插入一个'%'符号。

例子用法:

1、
%(数字)$(s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的参数)
这个数字的意思是将对应的变量进行重新排序,例如:"The %2\$s hello %1\$d world"
'1$'表示对应着第一个变量参数,
'2$'表示对应着第二个变量参数。以此类推!
适用范围:s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的参数。

2、
还可以使用对应的单个变量重复叠加,例如:"The %1\$d hello %1\$d world"它会将第一个变量参数重复叠加在这2个位置。
适用范围:s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的参数。

3、
字符'%%'的使用大部份都会用在将'%s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的参数的原形输出
例如:'%%s'转换后输出为'%s'。
适用范围:s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的参数。

4、
如果对应的变量为字符串,可以将这个字符串的前面添加自定义的字符(重复字符)
例如:$a = "hello"; 可以使用'%'#10s'转换输出为:#####hello。
注意:'[%'#10s]'字符中的'10'的数字必须大于原字符串的字符数量,大于5个就添加5个自定义的字符(重复字符)。
自定义的字符前面必须加上单引号,如果只是添加'0'则不需要单引号。
例如:$a = 8; 可以使用'%02s'转换输出为:08。
适用范围:s、d、b、u、o、x、X、g、G。

5、
如果对应的变量为字符串,可以载取一段插入到原字符串,字符个数为载取单位。
例如:$a = "hello"; 可以使用'%2.2s'载取输出为'he',意思是载取了2个字符。
适用范围:s、e、E、g、G。

6、
如果对应的变量为浮点数,可以转换为整数,不保留小数点后的数字
例如:$a = 123.321; 可以使用'%d'转换输出为:123。
适用范围:d、

5、
如果对应的变量为整数,可以转换为浮点数插入到原字符串,默认小数点后面添加6个'0'。
例如:$a = 123; 可以使用'%0.2f'转换输出为:123.00。
注意:只能添加'0'的参数!
适用范围:f、F。

6、
如果对应的变量为浮点数,可以定义保留小数点后的数字个数(定义多少个个数)然后插入到原字符串
例如:$a = 123.123; 可以使用'%01.2f'转换输出为:123.12,定义只保留2个小数点后的数字的个数。
适用范围:f、F、e、E。

7、
如果对应的变量为整数,可以在这个整数前面加上'+'符号,如果这个整数是负数则无效,它会按负数的整数原样插入到原字符串。
例如:$a = 10; 可以使用'%+d'转换输出为:'+10'。
适用范围:d、f、F、e、E、g、G。

8、
字符'%u'的使用大部份都会用在一个负数的整型上,还记得整型的最大值吗?是:4294967296。
如果是负数的整型将减去'4294967296'的数,输出减去后的余数。
例如:$a = -10; 使用'%u'参数后,4294967296减10是多少?转换输出当然是4294967286。
注意:如果使用'%d'去转换'4294967286'的话,它会返回'-10'。
适用范围:u。

9、
如果对应的变量为字符串,可以将这个字符串使用空格右移一点,或者左移一点。
例如:$a = "hello"; 可以使用'[%10s]'转换输出为:[ hello] 。
例如:$a = "hello"; 可以使用'[%-10s]'转换输出为:[hello ] 。
适用范围:s、d、f、F、u、b、o、x、X、g、G。

PS:以上的例子可以自由组合搭配使用!
*/

//对应的变量:(本文件通用)
$str = "Hello";
$number = 886;

//1、将一个编辑后的字符串写入一个(文件系统)文本文件中。必须只能调用fopen函数写入!
//第一个参数是定义fopen函数使用'w'参数来写入一个自定义名的文本文件,可以是txt、php或doc类型的,只要是文本文件都是可以的!
//第二个参数是定义需要编辑的原字符串,在原字符串的中间插入字符,在原字符串插入字符的位置使用'%'表示。

    echo "1、 fprintf将一个编辑后的字符串写入一个(文件系统)文本文件中。只能调用fopen函数使用'w'参数来写入!
"; $file = fopen("./printf/fprintf.txt","w"); echo '已写入文本文件中并返回该编辑后的字符串长度为:'.fprintf($file,"The %d contains %s",$number,$str).'
'; //1.5、使用方式相同,惟一不同的是它把存放对应变量的参数可以作为数组方式传入。 echo "1.5、vfprintf使用方式相同,惟一不同的是它把存放对应变量的参数可以作为数组方式传入。
"; $file = fopen("./printf/vfprintf.txt","w"); echo '已写入文本文件中并返回该编辑后的字符串长度为:'.vfprintf($file,"The %d contains %s",array($number,$str)).'
'; //2、使用方式相同,惟一不同的是编辑后的字符串直接输出,它将取消掉了调用fopen函数的参数。 echo "2、printf它取消掉了调用fopen函数的参数,直接输出了!
"; printf("The %d contains %s
",$number,$str); //2.5、使用方式相同,惟一不同的是它把存放对应变量的参数可以作为数组方式传入。 echo "2.5、vprintf使用方式相同,惟一不同的是它把存放对应变量的参数可以作为数组方式传入。
"; vprintf("The %d contains %s
",array($number,$str)); //3、使用方式相同,惟一不同的是编辑后的字符串赋值到一个变量中去,等待后续使用。 echo "3、sprintf输出该编辑后的字符串赋值的变量。
"; echo $a = sprintf("The %d contains %s
",$number,$str); //3.5、使用方式相同,惟一不同的是它把存放对应变量的参数可以作为数组方式传入。 echo "3.5、vsprintf使用方式相同,惟一不同的是它把存放对应变量的参数可以作为数组方式传入。
"; echo $a = vsprintf("The %d contains %s
",array($number,$str));

输出如下:

回复内容:

字符相关:

%s - 对应的变量双引号"中的值按照原样的内容插入到原字符串对应的'%s'符号位置。

%c - 参考'百度百科->标准ASCII表'相当于chr函数,可以接受整型或者字符串整型,
但只能接受十进制(64~127)、'Dec字段'、的ASCII值,然后插入原字符串中。

数字相关:

%d - 对应的变量是个整数或者字符串整数,它会按原样内容插入到原字符串对应的'%d'符号位置。

%f - 对应的变量是本地载取的浮点数,然后插入到原字符串对应的'%f'符号位置。

%F - 对应的变量是非本地载取的浮点数,然后插入到原字符串对应的'%F'符号位置。

%u - 对应的变量是个字符串整数并且还添加'符号',它会将把变量中的'符号'去除形成一个纯整数,然后插入到原字符串对应的'%u'符号位置。

%b - 如果对应的变量是个整型或者字符串整型,它会把原来的整型数字变量转换为一个二进制的格式,然后插入到原字符串对应的'%b'符号位置。默认整型为十进制!

%o - 如果对应的变量是个整型或者字符串整型,它会把原来的整型数字变量转换为一个八进制的格式,然后插入到原字符串对应的'%o'符号位置。默认整型为十进制!

%x - 如果对应的变量是个整型或者字符串整型,它会把原来的整型数字变量转换为一个十六进制的格式,然后插入到原字符串对应的'%x'符号位置。默认整型为十进制!

%X - 它和 '%X' 使用的方式基本相同,惟一不同的是它会将十六进制整数的字母转换为大写,然后插入到原字符串对应的'%X'符号位置。默认整型为十进制!

%e - 对应的变量必须是一个'科学记数法'的值 例如:'1.5e+3' 转换为:1.500000e+3 然后插入到原字符串对应的'%e'符号位置。

%E - 它和 '%e' 使用的方式基本相同,惟一不同的是它会将 '科学记数法' 中的 'e' 转换为大写的 'E' ,然后插入到原字符串对应的'%E'符号位置。

%g - 1、如果对应的变量中的值是个浮点数,
(小数点后面必须跟着是000,否则会按原样插入原字符串中。比如:小数点后面001!)
它会转换为整数插入到原字符串对应的'%g'符号位置。
2、如果对应的变量中的值是个'科学记数法'的值,它会进行压缩然后插入到原字符串对应的'%g'符号位置,
例如:'1.5e+3' 按照常规转换为:'1.500000e+3' 如果使用 '%g' 它会压缩转换为 '1500' 。

%G - 它和 '%g' 使用的方式基本相同,惟一不同的是它会将 '科学记数法' 中的 'e' 转换为大写的 'E' ,然后插入到原字符串对应的'%G'符号位置。

其它:

%% - 不需要对应的变量作为参数,直接插入一个'%'符号。

例子用法:

1、
%(数字)$(s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的参数)
这个数字的意思是将对应的变量进行重新排序,例如:"The %2\$s hello %1\$d world"
'1$'表示对应着第一个变量参数,
'2$'表示对应着第二个变量参数。以此类推!
适用范围:s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的参数。

2、
还可以使用对应的单个变量重复叠加,例如:"The %1\$d hello %1\$d world"它会将第一个变量参数重复叠加在这2个位置。
适用范围:s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的参数。

3、
字符'%%'的使用大部份都会用在将'%s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的参数的原形输出
例如:'%%s'转换后输出为'%s'。
适用范围:s、c、d、f、F、u、b、o、x、X、e、E、g、G或者%的参数。

4、
如果对应的变量为字符串,可以将这个字符串的前面添加自定义的字符(重复字符)
例如:$a = "hello"; 可以使用'%'#10s'转换输出为:#####hello。
注意:'[%'#10s]'字符中的'10'的数字必须大于原字符串的字符数量,大于5个就添加5个自定义的字符(重复字符)。
自定义的字符前面必须加上单引号,如果只是添加'0'则不需要单引号。
例如:$a = 8; 可以使用'%02s'转换输出为:08。
适用范围:s、d、b、u、o、x、X、g、G。

5、
如果对应的变量为字符串,可以载取一段插入到原字符串,字符个数为载取单位。
例如:$a = "hello"; 可以使用'%2.2s'载取输出为'he',意思是载取了2个字符。
适用范围:s、e、E、g、G。

6、
如果对应的变量为浮点数,可以转换为整数,不保留小数点后的数字
例如:$a = 123.321; 可以使用'%d'转换输出为:123。
适用范围:d、

5、
如果对应的变量为整数,可以转换为浮点数插入到原字符串,默认小数点后面添加6个'0'。
例如:$a = 123; 可以使用'%0.2f'转换输出为:123.00。
注意:只能添加'0'的参数!
适用范围:f、F。

6、
如果对应的变量为浮点数,可以定义保留小数点后的数字个数(定义多少个个数)然后插入到原字符串
例如:$a = 123.123; 可以使用'%01.2f'转换输出为:123.12,定义只保留2个小数点后的数字的个数。
适用范围:f、F、e、E。

7、
如果对应的变量为整数,可以在这个整数前面加上'+'符号,如果这个整数是负数则无效,它会按负数的整数原样插入到原字符串。
例如:$a = 10; 可以使用'%+d'转换输出为:'+10'。
适用范围:d、f、F、e、E、g、G。

8、
字符'%u'的使用大部份都会用在一个负数的整型上,还记得整型的最大值吗?是:4294967296。
如果是负数的整型将减去'4294967296'的数,输出减去后的余数。
例如:$a = -10; 使用'%u'参数后,4294967296减10是多少?转换输出当然是4294967286。
注意:如果使用'%d'去转换'4294967286'的话,它会返回'-10'。
适用范围:u。

9、
如果对应的变量为字符串,可以将这个字符串使用空格右移一点,或者左移一点。
例如:$a = "hello"; 可以使用'[%10s]'转换输出为:[ hello] 。
例如:$a = "hello"; 可以使用'[%-10s]'转换输出为:[hello ] 。
适用范围:s、d、f、F、u、b、o、x、X、g、G。

PS:以上的例子可以自由组合搭配使用!
*/

//对应的变量:(本文件通用)
$str = "Hello";
$number = 886;

//1、将一个编辑后的字符串写入一个(文件系统)文本文件中。必须只能调用fopen函数写入!
//第一个参数是定义fopen函数使用'w'参数来写入一个自定义名的文本文件,可以是txt、php或doc类型的,只要是文本文件都是可以的!
//第二个参数是定义需要编辑的原字符串,在原字符串的中间插入字符,在原字符串插入字符的位置使用'%'表示。

    echo "1、 fprintf将一个编辑后的字符串写入一个(文件系统)文本文件中。只能调用fopen函数使用'w'参数来写入!
"; $file = fopen("./printf/fprintf.txt","w"); echo '已写入文本文件中并返回该编辑后的字符串长度为:'.fprintf($file,"The %d contains %s",$number,$str).'
'; //1.5、使用方式相同,惟一不同的是它把存放对应变量的参数可以作为数组方式传入。 echo "1.5、vfprintf使用方式相同,惟一不同的是它把存放对应变量的参数可以作为数组方式传入。
"; $file = fopen("./printf/vfprintf.txt","w"); echo '已写入文本文件中并返回该编辑后的字符串长度为:'.vfprintf($file,"The %d contains %s",array($number,$str)).'
'; //2、使用方式相同,惟一不同的是编辑后的字符串直接输出,它将取消掉了调用fopen函数的参数。 echo "2、printf它取消掉了调用fopen函数的参数,直接输出了!
"; printf("The %d contains %s
",$number,$str); //2.5、使用方式相同,惟一不同的是它把存放对应变量的参数可以作为数组方式传入。 echo "2.5、vprintf使用方式相同,惟一不同的是它把存放对应变量的参数可以作为数组方式传入。
"; vprintf("The %d contains %s
",array($number,$str)); //3、使用方式相同,惟一不同的是编辑后的字符串赋值到一个变量中去,等待后续使用。 echo "3、sprintf输出该编辑后的字符串赋值的变量。
"; echo $a = sprintf("The %d contains %s
",$number,$str); //3.5、使用方式相同,惟一不同的是它把存放对应变量的参数可以作为数组方式传入。 echo "3.5、vsprintf使用方式相同,惟一不同的是它把存放对应变量的参数可以作为数组方式传入。
"; echo $a = vsprintf("The %d contains %s
",array($number,$str));

输出如下:


推荐阅读
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 关羽败走麦城时路过马超封地 马超为何没有出手救人
    对当年关羽败走麦城,恰好路过马超的封地,为啥马超不救他?很感兴趣的小伙伴们,趣历史小编带来详细的文章供大家参考。说到英雄好汉,便要提到一本名著了,没错,那就是《三国演义》。书中虽 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 缤果串口网络蓝牙调试助手的特点和下载链接
    本文介绍了缤果串口网络蓝牙调试助手的主要特点,包括支持常用的波特率、校验、数据位和停止位设置,以及以ASCII码或十六进制接收或发送数据或字符的功能。该助手还能任意设定自动发送周期,并能将接收数据保存成文本文件。同时,该软件支持网络UDP/TCP和蓝牙功能。最后,提供了腾讯微云和百度网盘的下载链接。 ... [详细]
author-avatar
FrxxGp
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有