echo,print(),print_r()和var_dump()有什么区别?
Posted zxqblogrecord
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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; //nihaopengyou
2.print --输出一个字符串
Description
int print ( string arg )//返回值为整形1
$return = print(‘456‘); echo ‘</br>‘; echo $return; //456 //1
3.print_r --
bool print_r ( mixed $expression )
$expression (1)是 string、integer 或 float 类型变量,将打印变量值本身.(2)如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
$b = array (‘m‘ => ‘monkey‘, ‘foo‘ => ‘bar‘, ‘x‘ => array (‘x‘, ‘y‘, ‘z‘)); echo ‘<pre>‘; $results = print_r ($b); echo ‘</pre>‘; var_dump($results) ;
//输出
Array ( [m] => monkey [foo] => bar [x] => Array ( [0] => x [1] => y [2] => z ) )
bool(true)
string print_r ( mixed $expression,true )
$b = array (‘m‘ => ‘monkey‘, ‘foo‘ => ‘bar‘, ‘x‘ => array (‘x‘, ‘y‘, ‘z‘)); echo ‘<pre>‘; $results = print_r ($b,true); // 不再函数内输出,$results 包含了 print_r 的输出结果 echo ‘</pre>‘; var_dump($results) ;
//输出
string(146) "Array ( [m] => monkey [foo] => bar [x] => Array ( [0] => x [1] => y [2] => z ) ) "
4.var_dump
void var_dump ( mixed $expression [, mixed $... ] )
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
参数
expression
你要打印的变量。
返回值
没有返回值。
例子1
<?php $a = array(1, 2, array("a", "b", "c")); var_dump($a); ?>
输出
array(3) { [0]=> int(1) [1]=> int(2) [2]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } }
例子2
$b = 3.1; $c = true; var_dump($b, $c);
输出
float(3.1) bool(true)
以上是关于echo,print(),print_r()和var_dump()有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章
echo() print() printf() print_r() 的区别
echo(),print(),print_r(),var_dump()函数的区别
php7中echo,print,print_r,var_dump 的区别