文章目录
一、介绍
本文已收录于PHP全栈系列专栏:PHP面试专区。-
计划将全覆盖PHP开发领域所有的面试题,对标资深工程师/架构师序列
,欢迎大家提前关注锁定。
这个也是比较常见的面试题之一了,是一道基础面试题,一般有过一些项目经验的都可以答出来。
二、讲解
2.1 echo
echo
语句是用来向浏览器输出字符串的,它可以输出一个或多个字符串,并且不需要添加任何分隔符。由于echo
没有返回值,因此不能把它当做一个表达式来使用。例如:
echo "Hello, World!"; // 输出一个字符串
echo 1 + 2; // 错误,echo没有返回值
2.2 print
print
函数也可以用来输出一个字符串,但是它只能输出一个字符串(不能输出多个),并且它总是返回数字1。例如:
print "Hello, World!"; // 输出一个字符串
print 1 + 2; // 输出3,因为print函数总是返回数字1
2.3 print_r
print_r
函数用来打印出变量的值,它可以打印出数组和对象的内容,并且会自动格式化输出结果,非常适合调试使用。例如:
$array = array("one", "two", "three");
print_r($array); // 输出数组的内容
2.4 var_dump
var_dump
函数也用来打印出变量的值,但是它会更加详细和具体地输出变量的所有信息,包括数据类型、长度、值等等。与print_r
函数不同,var_dump
函数可以打印出变量的类型和长度,而print_r
函数只能打印出数组和对象的内容。例如:
$array = array("one", "two", "three");
var_dump($array); // 输出数组的详细信息
三、 区别总结
函数
作用
返回值
echo
输出一个或多个字符串,没有返回值
无
输出一个字符串,返回数字1
1
print_r
打印出变量的值,只能打印出数组和对象的内容
无
var_dump
打印出变量的值和类型、长度等具体信息,适合调试使用,可以打印所有类型的变量
无
从上表可以看出,echo
语句和print
函数都是用来输出字符串的,而print_r
函数和var_dump
函数则是用来打印出变量的值。其中,print_r
函数适合用来打印复杂的数据类型,例如数组和对象,而var_dump
函数可以打印出变量的所有信息,适合用来调试程序并查看变量的内部结构。
四、 示例代码
<?php
// echo
echo "Hello, World! ";
echo "This is PHP.";
echo "<br>"; // 换行符
echo 1 + 2; // 输出3
echo "<br>";
// print
print "Hello, World! ";
print "This is PHP.";
print "<br>"; // 换行符
print 1 + 2; // 输出3
print "<br>";
// print_r
$array = array("one", "two", "three");
print_r($array);
echo "<br>";
// var_dump
$array = array("one", "two", "three");
var_dump($array);
?>
输出结果:
Hello, World! This is PHP.
3
Hello, World! This is PHP.
3
Array ( [0] => one [1] => two [2] => three )
array(3) { [0]=> string(3) "one" [1]=> string(3) "two" [2]=> string(5) "three" }