本节内容:
php输出字符串实例详解
在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语言差不多,都是以%开头。
其说明符定义如下。
要说明的是:
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输出比较详细,一般调试时用得多。
代码:
结果为:
test object
(
[num] => 1
[str] => 222
[bool] => 1
)
object(test)#1 (3) {
["num"]=>
int(1)
["str"]=>
string(3) "222"
["bool"]=>
bool(true)
}