php 关于var_dump和echo输出多变量的测试

<?php
trait  A{
public $a = 'a';
private $d = 'd';
public function sayHello(){
echo 'Hello ';
}
}


class B{
public $b = 'b';
public function sayHello(){
return ' world !';
}
}


class C extends B{
use A;


public $b = 'c';

}
var_dump(5,7,(new C)->sayHello(),aac(4,5),'<br />');


echo 5,7,(new C)->sayHello(),aac(4,5),'<br />';


function aac($a,$b){
echo '<hr />';
echo $a,$b;
echo '<hr />';
echo $a+$b;
echo '<hr />';
return $a+$b;

}


打印结果:

Hello


45
9
int(5) int(7) NULL int(9) string(6) "
" 57Hello
45
9

9


总结:

var_dump PHP文档说明中提到:和直接将结果输出到浏览器一样,可使用输出控制函数来捕获当前函数的输出,然后(例如)保存到一个 string中。

换句话说就是,var_dump会执行多变量或者多表达式,并对中间过程输出进行缓存,最后一起输出。简单理解就是如果var_dump中有调用、表达式的输出,则会自左而右优先输出这些调用或表达式中间过程的输出,最后才将结果输出。

而echo则是自左向右依次对多变量、表达式、调用执行和输出。

猜你喜欢

转载自blog.csdn.net/lvqingyao520/article/details/79737378
今日推荐