PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
2015-01-24信息快讯网
在PHP中,有四种方法输出字符串。echo结构可以一次输出多个值;print()只可以输出一个值;printf()可以格式化输出;print_r()可以输出数组,对调试很有好处。
下面一一进行介绍。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读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
php 调试利器debug_print_backtrace()
ThinkPHP 连接Oracle数据库的详细教程[全]
PHP sprintf() 函数的应用(定义和用法)
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
PHP中将字符串转化为整数(int) intval() printf() 性能测试
MySQL时间字段究竟使用INT还是DateTime的说明
php中echo()和print()、require()和include()等易混淆函数的区别
PHP sprintf()函数用例解析
PHP学习之整理字符串
PHP基础学习小结
适用于php-5.2 的 php.ini 中文版[金步国翻译]
The specified CGI application misbehaved by not returning a complete set of HTTP headers
windows下开发并编译PHP扩展的方法
在MongoDB中模拟Auto Increment的php代码
php SQL Injection with MySQL
PHP中simplexml_load_string函数使用说明
php数据入库前清理 注意php intval与mysql的int取值范围不同
php iconv() : Detected an illegal character in input string
php printf输出格式使用说明
PHP中的integer类型使用分析
PHP中的string类型使用说明
PHP STRING 陷阱原理说明
PHP print类函数使用总结
php echo()和print()、require()和include()函数区别说明
php中理解print EOT分界符和echo EOT的用法区别小结