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解析器所理解。