首页 > 编程语言 >【web开发】PHP字符串之字符串输出及格式化输出

【web开发】PHP字符串之字符串输出及格式化输出

时间:2023-06-22 22:31:46浏览次数:38  
标签:输出 函数 web echo 参数 字符串 PHP

前言

上一篇文章我们介绍到PHP的字符串有很多相关的处理函数,今天就先来详细介绍PHP字符串相关的输出函数以及格式化输出函数。在web的开发中,网页上大部分内容显示的都是文字或者图片,且文字居多。所以在实际开发中,对字符的处理和展示是最多。如果按用户的需求通过PHP动态输出这些文字,就需要将网页上的文字定义为字符串,然后再通过PHP的一些字符串输出函数将其输出。比如我们最常用于打印字符串的echo()和print(),在没有使用测试工具的情况下,我们在编写代码的时候,会常用echo()或者print()输出结果来调试程序。我们常用的输出函数大致有echo(),print(),die(),printf(),sprintf()。接下来我们就逐一详细介绍这些函数。

常用的echo()函数

echo()函数用于输出一个或多个字符串,是在PHP中使用最多最频繁的一个函数,因为使用它的效率要比其他字符串输出函数的效率高.echo()实际上并不是一个函数,而是PHP的一个语言结构,所以无须对其使用括号。也就是说无须使用函数调用的方式去调用它,而且,如果希望向echo()传递一个或者多个参数,那么使用括号会发生解析错误.此函数的语法格式如下:

void echo(string arg1 [, string ...]) //使用时可省略括号

该函数的参数可以是一个或多个要输出字符串,如果用户想要传递一个以上的参数到此函数,不能使用括号将参数括起来,如以下示例:

<?php
$str = "hello";
$str2 = "world";
echo $str;
echo "<br>";
echo $str . "<br>world<br>";
echo "hello
	world
	<br>";//将文本转换成多行输出,代码可读性更高
echo $str,$str2;

上篇文章中,我们也使用到PHP中的字符串的链接符".",其实除了"."之外,还可以使用逗号","来作为字符串的连接符

执行结果如下:

【web开发】PHP字符串之字符串输出及格式化输出_PHP

print()函数

该函数的功能和echo()函数一样,他有返回值,若成功则返回-1,失败则返回0.比如:传输中途客户的浏览器突然挂了,则会造成输出失败的情况.该函数的执行效率没有echo()函数高.使用示例如下:

<?php
$str = "hello";
$str2 = "world";
echo $str;
print($str2);

执行结果:

【web开发】PHP字符串之字符串输出及格式化输出_PHP_02

die()函数和exit()函数

die()函数是exit()函数的别名.这一点我们在在之前的文章中也有所提及.如果参数是一个字符串,则该函数会在退出前输出字符串,如果参数是一个整数,这个值会被用作退出的状态.退出状态的值在0-254之间,退出状态255由PHP保留,不会被使用,状态0用于成功地终止程序.下面我们看看例子:

<?php
$str = "hello";
fopen($str, "r") or die("终止信息是:".$str); //如果打开文件失败则输出一条提示信息并退出程序

执行结果:

【web开发】PHP字符串之字符串输出及格式化输出_格式化_03

格式化输出:printf()函数

printf()函数用于输出格式化的字符串,和C语言中的同名函数用法一样,而且作用都是格式化输出字符串。第一个参数为必选参数,是规定的字符串以及如何格式化其中的变量。还可以有多个可选参数,是规定插入到第一个参数的格式化字符串中对应%符号处的参数,其实第一个%在这里就相当于一个占位符或者说是定位的替换字符。使用语法如下:

printf(format, arg1, arg2,...,argn)  //输出格式的字符串

第一个参数中使用的转换格式是以百分号(%)开始到转换字符结束,能够转换的格式如下:

%%:返回百分比符号。

%b: b在这里是binary,代表二进制数。

%c: 依照ASCII值的字符。

%d: 带符号的十进制数。

%e: 科学计数法,如:1.5e+3。

%u: 无符号十进制数。

%f: 浮点数(float)(local settings aware)。

%F: 浮点数(not local settings aware)。

%o: 八进制数。

%s: 字符串。

%x: 十六进制数(小写字母)。

%X: 十六进制数(大写字母)。

arg1,arg2...arg1等参数将插入到字符串中的百分号(%)符合处.该函数是逐步执行的.在第一个%符号中,插入arg1,在第二个%符号出,插入arg2;以此类推。如果%符号多比arg参数还多,则必须使用占位符。占位符被插入%符号之后,由数字和“\$”组成。

<?php
$str = "张三";
$digital = 12345;

printf("你好! %s ,你上月薪资为:%u元<br>", $str, $digital);//将字符串$str在第一个参数中的%号处输出,按%s输出,整型数据按%u输出,一一对应

printf("你好! %s ,你上月薪资为:%0.2f元<br>", $str, $digital);//将整型按照浮点数输出,并保留小数点后2位

//使用占位符
$format = "你好,%2\$s,你上月工资为: %1\$d元.<br>
			你好,%2\$s,你本月工资一样为: %1\$d元.<br>";
			
printf($format, $digital, $str);

执行结果如下:

【web开发】PHP字符串之字符串输出及格式化输出_字符串_04

sprintf()函数

sprintf()函数的用法和printf()函数的用法类似,但sprintf()并不是输出字符串,而是把格式化的字符串以返回值的形式写入到一个变量中。这样就可以在需要的时候使用格式化后字符串。直接看实际更容易理解:

<?php
$digital = 12345;

$str = sprintf("%0.2f",$digital);//将整型保留小数点后2位并赋值给变量$str
echo $str;//在有效的作用范围内,都可使用格式化后的数据$str

执行结果如下:

【web开发】PHP字符串之字符串输出及格式化输出_字符串格式化输出_05

标签:输出,函数,web,echo,参数,字符串,PHP
From: https://blog.51cto.com/micai01/6535964

相关文章

  • Uniapp仿ChatGPT Stream流式输出(非Websocket)
    前言最近写一个chagpt小程序,流式输出可以使用websocket也可以使用stream来实现,这里就不折腾websocket的了,我发现uniapp实现流式输出的方式挺多的,主要是有些小程序还不兼容,花了点时间研究了一下。EventSourceEventSource也称为SSE(Server-SentEvents),是服务器推送的一个网络事件......
  • Java Web自定义MVC框架详解
    最近给学生讲JavaWeb,希望他们能够在学完这部分内容后自己实现一个MVC框架。但是突然发现百度上能搜索到的靠谱的资料并不是很多,有些只是原理没有代码实现,有些有代码实现但是对于初学者来说理解起来还是比较困难,于是决定把自己讲自定义MVC框架的内容放在这里分享给大家,不仅仅是代码......
  • Java Web项目中使用Freemarker生成Word文档
    Web项目中生成Word文档的操作屡见不鲜,基于Java的解决方案也是很多的,包括使用Jacob、ApachePOI、Java2Word、iText等各种方式,其实在从Office2003开始,就可以将Office文档转换成XML文件,这样只要将需要填入的内容放上${}占位符,就可以使用像Freemarker这样的模板引擎将出现占位符的地......
  • linux 中 echo的颜色输出
     echo:字体颜色 和背景颜色。常见的字体颜色:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,紫色=35,天蓝色=36,白色=37。常见的背景颜色:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,紫色=45,天蓝色=46,白色=47。字体控制选项:1表示高亮,4表示下划线,5表示闪烁等。因为需要使用特殊符......
  • MySQL 日期与字符串互相转换总结
    第一种情况:日期转字符串1、函数:date_format(date,format)selectdate_format(now(),'%Y-%m-%d%H:%i:%S');第二种情况:日期转时间戳1、函数:unix_timestamp(data)selectunix_timestamp(now());第三种情况:字符串转日期1、函数:str_to_date(str,format);注:format格式必须......
  • Tomcat项目不放在webapps下放在别的盘符目录下的配置
    一、项目不放在tomcat下的webapps下,而是放在别的盘符路径下,在service.xml中加以配置即可,配置如下:<HostappBase="webapps"autoDeploy="true"name="localhost"unpackWARs="true"xmlNamespaceAware="false"xmlValidation="false">......
  • 搭建Eclipse、Resin Web开发环境
    搭建Eclipse、ResinWeb开发环境一、当然是安装java开发环境参看:Java环境的搭建二、选择并下载一个合适的Eclipse。推荐选择:EclipseIDEforJavaEEDevelopers,这个集成版包含的功能比较全,省的还需要下载一些插件。一定要确保安装了WTP(WebToolsPlatform),它是一个开......
  • 基于python的 Web 开发框架学习笔记
    转载请注明来源:http://www.eword.name/Author:ewordEmail:[email protected]专题目录基于python的Web开发框架学习笔记详细记录Eword的python入门过程IDE环境推荐#【推荐】VSCode+Python+pip+Virtualenv或#【可选】PyCharm+Python+pip+Virtualenv......
  • 基于python的 Web 开发框架学习笔记
    转载请注明来源:http://www.eword.name/Author:ewordEmail:[email protected]专题目录基于python的Web开发框架学习笔记详细记录Eword的python入门过程IDE环境推荐#【推荐】VSCode+Python+pip+Virtualenv或#【可选】PyCharm+Python+pip+Virtualenv......
  • MySQL处理字符串的两个绝招:substring_index,concat
    1、substring_index(str,delim,count)str:要处理的字符串delim:分隔符***count:计数***例子:str=www.google.comsubstring_index(str,'.',1)结果是:wwwsubstring_index(str,'.',2)结果是:www.google也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容......