print_r/var_dump/var_export函数的区别

1、print_r  打印关于变量易于理解的信息。

       php手册中这么介绍print_r()函数,print_r()显示一个变量易于理解的信息。如果给出是string、integer或float,将打印变量值本身。如果给出的是array,将会按照一定格式显示键和元素。object与数组类似。print_r()函数打印数组会把数组的指针移到最后边。使用reset()函数可以将指针会到开始处。

       mixedprint_r(mixed $var [,bool $return])从函数原型可以了解到此函数可以接受第二个参数,如果第二个参数为true,将不会输出数据,而是返回其输出。

 

2、var_export  输出或返回一个变量字符串表示。

       mixedvar_export( mixed $var [,bool $return]),此函数返回关于传递给该函数的变量的结构信息,它和var_dump()类似,不同的是其返回表示合法的php代码。可以通过设置第二个参数设置为true,从而返回变量表示。其返回字符串可以通过eval()函数重新解析成php变量。

 

3、var_dump 打印变量相关信息

       voidvar_dump(mixed $var [, mixed $var]);此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值,数组将递归展开,通过缩进显示其结构。该函数在断点输出调试中经常使用,此函数打印出变量类型非常方便与调试时使用。

 

4、实验室

//print_r()函数打印出变量易于理解的信息
$array = array(
	array('1','2','3','4','5','6','7','8','9','10'),
	'string',
	'float',
	array('a','b','c','d','e','f','g','h')
);
$float = 12.00;
$string = '这是一个字符串';

//print_r($array);
//以上输出
// Array
// (
// 		[0] => Array
// 		(
// 				[0] => 1
// 				[1] => 2
// 				[2] => 3
// 				[3] => 4
// 				[4] => 5
// 				[5] => 6
// 				[6] => 7
// 				[7] => 8
// 				[8] => 9
// 				[9] => 10
// 		)

// 		[1] => string
// 		[2] => float
// 		[3] => Array
// 		(
// 				[0] => a
// 				[1] => b
// 				[2] => c
// 				[3] => d
// 				[4] => e
// 				[5] => f
// 				[6] => g
// 				[7] => h
// 		)

// )

$newArray = print_r($array,true);//这个不会输出,而是把输出的内容返回给变量$newArray

//var_dump()打印出变量相关的信息
var_dump($float,$string,$array);
//以上会输出
// float(12)
// string(21) "这是一个字符串"
// array(4) {
// 	[0]=>
// 	array(10) {
// 		[0]=>
// 		string(1) "1"
// 		[1]=>
// 		string(1) "2"
// 		[2]=>
// 		string(1) "3"
// 		[3]=>
// 		string(1) "4"
// 		[4]=>
// 		string(1) "5"
// 		[5]=>
// 		string(1) "6"
// 		[6]=>
// 		string(1) "7"
// 		[7]=>
// 		string(1) "8"
// 		[8]=>
// 		string(1) "9"
// 		[9]=>
// 		string(2) "10"
// 	}
// 	[1]=>
// 	string(6) "string"
// 		[2]=>
// 		string(5) "float"
// 		[3]=>
// 		array(8) {
// 		[0]=>
// 		string(1) "a"
// 		[1]=>
// 		string(1) "b"
// 		[2]=>
// 		string(1) "c"
// 		[3]=>
// 		string(1) "d"
// 		[4]=>
// 		string(1) "e"
// 		[5]=>
// 		string(1) "f"
// 		[6]=>
// 		string(1) "g"
// 		[7]=>
// 		string(1) "h"
// 	}
// }

var_dump($float,$string);
//以上输出
// float(12)
// string(21) "这是一个字符串"


//var_export()函数输出或返回一个变量字符串表示
var_export($array);
//以上输出
// array (
// 		0 =>
// 		array (
// 				0 => '1',
// 				1 => '2',
// 				2 => '3',
// 				3 => '4',
// 				4 => '5',
// 				5 => '6',
// 				6 => '7',
// 				7 => '8',
// 				8 => '9',
// 				9 => '10',
// 		),
// 		1 => 'string',
// 		2 => 'float',
// 		3 =>
// 		array (
// 				0 => 'a',
// 				1 => 'b',
// 				2 => 'c',
// 				3 => 'd',
// 				4 => 'e',
// 				5 => 'f',
// 				6 => 'g',
// 				7 => 'h',
// 		),
// )
$newArray = var_export($array,true);//该函数会把其输出返回给$newArray变量

//$newArray字符串可以使用eval()函数使其变成php可用的变量值。
eval('$exec_Array='.$newArray.';');
var_dump($exec_Array);

看三个函数基本类似,在打印标量类型是print_r()和var_export()函数结果一样,var_dump()会在变量值前附上变量类型和变量长度信息。在打印数组时,var_export()会比print_r()多出数组中的,号分隔符,使其能被php解析器所理解。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值