【php】echo与var_dump

echo与var_dump的核心功能同样是没有区别的,皆为“输出变量的值”,但是echo偏向于产品,给客户看的,调试人员、编程人员更适合使用var_dump来输出变量,在调试的时候,告别难以使用的echo吧!

echo只能输出变量的值,var_dump能将变量的值与类型同时输出。

如果不做任何处理,在php中是无法直接输出一个数组的,需要用到一个for循环才可以,如果直接用echo输出一个数组,php会报错,但var_dump却是可以的,还输出得挺完美,无须通过任何的处理。

再有的就是类变量的输出,如果不作任何处理,echo同样是会报错的,var_dump则可以轻松输出。

用一个例子还说明这个问题,代码如下:

<?php
//对于普通变量的输出
$i=1;
echo $i;
echo "<br>";//华丽的分隔符,请忽略
var_dump($i);
echo "<br>";//华丽的分隔符,请忽略

//对于数组的输出
$arr=array(1,2,3);
echo $arr;//输出警告
echo "<br>";//华丽的分隔符,请忽略
var_dump($arr);
echo "<br>";//华丽的分隔符,请忽略

//对于类的输出
class Test{
	public $i="i";
	public $j="j";
}
$test = new Test();
var_dump($test);
echo "<br>";//华丽的分隔符,请忽略
echo $test;//输出错误
echo "<br>";//华丽的分隔符,请忽略
?>

输出结果如下:

可以看到var_dump对于变量、数组、类的输出,有着很好的表现,通过var_dump能够轻易地观察出变量、数组、类此时的值为多少。而echo则报错成狗,当然,在普通网页的输出,我们也不希望软件产品客户看到var_dump输出的信息,所以echo还是最基础的东西。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-05 18:05:25

【php】echo与var_dump的相关文章

php中,echo,print,var_dump的三个区别

1.echo语句 echo - 能够输出一个以上的字符串 <?php      echo "<h2>www.dc3688.com</h2>";      echo "Hello world!<br>";      echo "I'm about to learn PHP!<br>";       echo "This", " string", "

echo,print(),print_r()和var_dump()有什么区别?

echo,print是php语言结构, print_r是函数,print和print_r有返回值print只能打印出简单类型变量的值(如int,string)  print_r可以打印出复杂类型变量的值(如数组,对象) 1.echo -- 输出一个或者多个字符串   Description   void echo ( string arg1 [, string ...] ) //返回值为空 $a = 'nihao'; $b = 'pengyou'; echo $a,$b; //nihaopeng

print_r与var_dump的区别

$colors = array('red', 'blue', 'green', 'yellow');print_r($colors);echo '<br>';var_dump($colors); 输出结果如下:Array ( [0] => red [1] => blue [2] => green [3] => yellow )array(4) { [0]=> string(3) "red" [1]=> string(4) "bl

关于print和echo的区别

我的想法是print是函数,echo是语句.有一个点很难去说明就是为什么可以执行print 666.可以这样不加括号,象print(666);至于为什么一定要认为print是函数,而非网上说的语句和函数.可以尝试自己按照下面的代码逐条验证,注意有些语法都通不过,更加证明函数和语句的区别. <?php var_dump(echo ('testinfo')); var_dump(echo 'testinfo'); var_dump(echo 'testinfo';); var_dump(echo (

[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,输出一

PHP数组的一些常用函数

1---数组中元素值的返回------->array_values(); 2---数组中键名的返回---------->array_keys();      //这两个函数的返回值也同样是数组,下表改变为索引,从0开始 <?php $arr = array( 'brand1'=>'lumia800', 'brand2'=>'lumia900', 'brand3'=>'lumia640xl' );     echo "<pre>";    

PHP面试题

1.不用新变量直接交换现有两个变量的值 (1)list($a,$b)=array($b,$a);(2)a=a+b,b=a-b,a=a-b 2.PHP数字金额转大小格式,同时说明思路 function daxie($num){ $da_num = array('零','一','二','三','四','五','六','七','八','九'); $return = ''; $len_num = strlen($num); if(!is_numeric($num) || $len_num < 0){ r

关于php语言的使用!

------php语言与JavaScript的使用 方法是相似 <script type="text/javascript"> </script>--js与PHP同是一种弱类型语言 弱类型语言只是不显示表现  定义变量时系统自动给默认了 所以在定义PHP的变量时可以定义变量 如图1: ---------PHP中的常用语句: $a=10; 根据写的值,系统自动生成为int $b="hello";定义一个字符串: $c='hello';同上 $d

1211php面向对象

首先需要定义数组,$attr = array(直接给元素1,2,3)索引数组 关联数组 $attr = array("one"=>1,2,3) for($i=0;$i<count($attr);$i++) for循环遍历索引数组  不能遍历关联数组 foreach遍历 关联索引都可以遍历 foreach($attr as $k=>$v){ $v;} 面向对象 类 和 对象 例子: $yuan = new Yuan();$yuan->banjing = 10;ec