PHP学习之输出字符串(echo,print,printf,print_r和var_dump)


Posted in PHP onApril 17, 2011

下面一一进行介绍。
1. echo
echo 是PHP的一个关键字,它没有返回值。在写法上,它可以省略小括号。如下代码:

echo 'Test String'; 
echo('Test String');

2. print
print 也是PHP的一个关键字,它有返回值,一般返回true,返回false的情况应该没有。在写法上,它和echo一样,可以省略小括号。如下代码:
print 'Test String'; 
print('Test String');

3. printf
printf可以像C语言的printf一样,格式化输出一个字符串。它的格式和C语言差不多,都是以%开头。其说明符定义如下。
b 参数为整数,显示其二进制
c 参数为整数,显示对应ASCII字符
d 参数为整数,显示其十进制
f 参数为双精度,显示为浮点数
e 参数为双精度,显示为科学计数型
g 参数为双精度,显示为浮点数或科学计数型
o 参数为整数,显示其八进制
s 参数为字符串,显示为字符串
u 参数为无符号整数,显示其十进制
x/X 参数为整数,显示其十六进制(分别为大小写显示)
% 输出%要说明的是:
f,e默认小数点后六位,g在超过六位(加小数点)时,会四舍五入,如果四舍五入之后的值小于1000000会直接输出,大于的1000000的话会显示成科学计数型。f在值大于1.2e23输出的结果是不对的。
以上除%以外,其它的都可以指定输出总位数(小数点、E都算一位),并可以指定0或空格为补位符,还可以指定补位在左还是在右。
f,e可以指定小数点后位数。
如 %5d 表示输出总位数为5,不足左补空格; %05d 表示输出总位数为5,不足左补0; %05.1f 表示输出总位数为5,不足左补0,小数点后1位; %-05.1f 表示输出总位数为5,不足右补0,小数点后1位;
示例代码:
printf("%7.2f", 1.2); // " 1.20" 
printf("%-07.2f", 1.2); // "1.20000"

4. sprintf
sprintf和格式转换和printf一样,两者区别在于printf直接输出,而sprintf返回一个格式化后的字符串。
5. print_r和var_dump
print_r和var_dump都能输出数组和对象,但print_r对布尔型的输出不太明显;var_dump输出比较详细,一般调试时用得多。
如下代码:
$v = new test(); 
print_r($v); 
var_dump($v); 
class test { 
public $num = 1; 
public $str = "222"; 
public $bln = true;

结果为:
test Object 
( 
[num] => 1 
[str] => 222 
[bool] => 1 
) 
object(test)#1 (3) { 
["num"]=> 
int(1) 
["str"]=> 
string(3) "222" 
["bool"]=> 
bool(true) 
}

参考资料:
PHP程序设计,2003,第四章 字符串,输出字符串
PHP 相关文章推荐
PHP面向对象编程快速入门
Dec 14 PHP
php 将字符串按大写字母分隔成字符串数组
Apr 30 PHP
谨慎使用PHP的引用原因分析
Sep 06 PHP
php标签云的实现代码
Oct 10 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
Jan 17 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
Jun 13 PHP
浅析PHP Socket技术
Aug 02 PHP
php is_writable判断文件是否可写实例代码
Oct 13 PHP
详解php框架Yaf路由重写
Jun 20 PHP
php调用云片网接口发送短信的实现方法
Oct 25 PHP
php图片合成方法(多张图片合成一张)
Nov 25 PHP
Yii 框架入口脚本示例分析
May 19 PHP
PHP基础学习小结
Apr 17 #PHP
php 生成文字png图片的代码
Apr 17 #PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
Apr 17 #PHP
php编写一个简单的路由类
Apr 13 #PHP
php 求质素(素数) 的实现代码
Apr 12 #PHP
php 5.3.5安装memcache注意事项小结
Apr 12 #PHP
php处理json时中文问题的解决方法
Apr 12 #PHP
You might like
php中防止伪造跨站请求的小招式
2011/09/02 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
PHP中mysql_field_type()函数用法
2014/11/24 PHP
php post换行的方法
2020/02/03 PHP
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
JS简单实现城市二级联动选择插件的方法
2015/08/19 Javascript
jQuery实现的多级下拉菜单效果代码
2015/08/24 Javascript
深入理解JS中的Function.prototype.bind()方法
2016/10/11 Javascript
jquery实现图片列表鼠标移入微动
2016/12/01 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
使用vue.js编写蓝色拼图小游戏
2017/03/17 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
python merge、concat合并数据集的实例讲解
2018/04/12 Python
在dataframe两列日期相减并且得到具体的月数实例
2018/07/03 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
2020/09/03 Python
优秀的毕业生的自我评价
2013/12/12 职场文书
夏季药店促销方案
2014/08/22 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
2016抗战胜利71周年红领巾广播稿
2015/12/18 职场文书