调试代码的时候用print_r(),因为他可以把对象、数组都可以打印出来
echo是php语句,没有返回值。其他三个都是函数,可以有返回值
=================================================================
以下是一些资料
echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
print只能打印出简单类型变量的值(如int,string)
print_r可以打印出复杂类型变量的值(如数组,对象)
echo -- 输出一个或者多个字符串
Description
void echo ( string arg1 [, string ...] ) //返回值为空
echo "你好"," 朋友";
print --输出一个字符串
Description
int print ( string arg )//返回值为×××
print "你好朋友";
可以进行下面操作
$name=print "nihao \n";
$str = 'test print value is $name .';
eval("$print=\"$str\";");
echo $print;
print_r -- 打印关于变量的易于理解的信息。
bool print_r ( mixed expression [, bool return] ) //返回值是布尔型的,参数是mix类型的,可以是字符串,×××,数组,对象类print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
print_r() 将把数组的指针移到最后边。
你可以
print_r(str);
print_r(int);
print_r(array);
print_r(obj);
也可以用var_dump var_export
printf()
printf()源于C语言中的printf()。该函数输出格式化的字符串。
语法: printf(format,arg1,arg2,arg++)
format 规定字符串以及如何格式化其中的变量;
arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
Example:
<?php
$str = "Hello";
$number = 123;
printf("%s world. Day number %u",$str,$number);
?>
#Results======
Hello world. Day number 123
如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入 % 符号之后,由数字和 "\$" 组成。请参见例子 3。
Example:
<?php
$number = 123;
printf("With 2 decimals: %1\$.2f<br />With no decimals: %1\$u",$number);
?>
#Result
With 2 decimals: 123.00
With no decimals: 123