[PHP基础] echo/print/print_r 之间的区别

很长一段时间只知道在类型复杂时使用print_r输出,简单的使用 echo ,今天特此深究下这个问题,什么时候用echo ,print,pinrt_f,废话少说直接开始

先写4种类型:整形,字符串,数组,函数

$inte = 2;//整形
$str= 'dwqdw';//字符串
$arr = ['1','2','3'];//数组
//函数
function xx(){
    echo 123;
}
echo $inte;
print($inte);
print_r($inte);  

结果:222,输出一样

var_dump(echo $inte);
var_dump(print($inte));
var_dump(print_r($inte)); 

使用var_dump 打印下三个返回类型,

结果:syntax error, unexpected 'echo'   直接报错 o(╥﹏╥)o  echo 无返回值,直接注释掉,

总结:2222int(1) 2bool(true)   print 返回1, print_r返回true、

开始下一个 打印字符串:

echo $str."<br>";
print($str)."<br>";
print_r($str)."<br>";

var_dump(echo $str)."<br>";
var_dump(print($str))."<br>";
var_dump(print_r($str))."<br>";

结果:1.var_dump(echo $str)."<br>";这条还是直接报错,echo 无返回值,注释掉

   2.dwqdw dwqdw dwqdwdwqdwint(1) dwqdwbool(true),正常打印 print 返回1, print_r返回true

打印数组:

echo $arr."<br>";
print($arr)."<br>";
print_r($arr)."<br>";

var_dump(echo $arr)."<br>";
var_dump(print($arr))."<br>";
var_dump(print_r($arr))."<br>";

结果:1. var_dump(echo $arr)."<br>";这条还是直接报错,echo 无返回值,注释掉

      2.echo $arr."<br>"; 报错;var_dump(echo $arr)."<br>";报错 ,print($arr)."<br>"; 报错 var_dump(print($arr))."<br>"; 报错。 Array to string conversion  数组到字符串的转换

总结:pint echo 无法打印数组类型

打印函数类型:比较懒 直接说结果  只有pinr_r 正常输出  其他均打印不了

总结:1.echo ,print  只能打印  整形、字符串类型

      2.print_r 可打印多种类型(说白了就是类型都行)

     3. echo无返回值, print()返回整形 1   , print_r() 返回 布尔类型 true   

猜你喜欢

转载自www.cnblogs.com/baboben/p/11961669.html