当我们在PHP中编程时,经常需要查看变量、数组等数据类型的值和结构信息。在PHP中,我们通常使用var_dump函数来查看变量的信息。但是有时候,我们需要更加清晰和详细地查看数组的信息,而此时使用var_dump输出的信息可能会比较混乱,不够直观
当我们在PHP中编程时,经常需要查看变量、数组等数据类型的值和结构信息。在PHP中,我们通常使用var_dump函数来查看变量的信息。但是有时候,我们需要更加清晰和详细地查看数组的信息,而此时使用var_dump输出的信息可能会比较混乱,不够直观。因此,我们可以自定义一个函数dump,来更加清晰地查看数组信息。
下面是,如何自定义一个函数dump查看数组信息类似var_dump的完整攻略:
函数定义
我们定义一个dump函数,函数使用方式和var_dump类似,可以查看变量或数组的结构:
/**
* 自定义函数dump,用于查看变量或数组结构
*
* @param [mixed] $var
* @param boolean $echo
* @param integer $indent
* @return void|string
*/
function dump($var, $echo = true, $indent = 0)
{
$str = '';
$pre = str_repeat(' ', $indent);
$type = gettype($var);
switch ($type) {
case 'array':
$total = count($var);
$str .= "array({$total}) {\n";
foreach ($var as $key => $val) {
$str .= $pre . " [{$key}] => ";
if (is_array($val)) {
$str .= "\n" . dump($val, false, $indent + 1) . $pre;
} elseif (is_bool($val)) {
$str .= $val ? 'true' : 'false';
} else {
$str .= $val;
}
$str .= "\n";
}
$str .= $pre . "}";
break;
case 'boolean':
$str .= $var ? 'true' : 'false';
break;
case 'integer':
case 'double':
$str .= $var;
break;
case 'object':
$str .= 'Object {' . get_class($var) . '}';
break;
case 'string':
$str .= '"' . $var . '"';
break;
case 'resource':
$str .= 'Resource (' . get_resource_type($var) . ')';
break;
default:
$str .= 'NULL';
break;
}
if ($echo) {
echo $str . PHP_EOL;
} else {
return $str . PHP_EOL;
}
}
这个函数比较长,但我们可以看到,函数中处理了多种数据类型,并对数组进行递归处理,输出数组结构更加清晰。
函数使用
我们来看几个例子,展示如何使用dump函数查看数组信息。
示例一:查看普通数组信息
$arr = ['a', 'b', 'c'];
dump($arr);
输出结果:
array(3) {
[0] => a
[1] => b
[2] => c
}
可以看到,dump函数清晰地展示了数组的结构,每个元素的键和值都有清晰的展示。
示例二:查看带级别的多维数组信息
$arr = [
'name' => '张三',
'age' => 18,
'contact' => [
'phone' => '18888888888',
'address' => [
'province' => '北京市',
'city' => '北京市',
'district' => '朝阳区',
'street' => 'XXX路'
]
]
];
dump($arr);
输出结果:
array(3) {
[name] => "张三"
[age] => 18
[contact] => array(2) {
[phone] => "18888888888"
[address] => array(4) {
[province] => "北京市"
[city] => "北京市"
[district] => "朝阳区"
[street] => "XXX路"
}
}
}
可以看到,dump函数清晰地展示了多维数组的结构,并且为每个数组添加了适当的缩进,更加清晰明了。
这就是自定义函数dump查看数组信息类似var_dump的攻略,希望对你有所帮助!
本文标题为:php中自定义函数dump查看数组信息类似var_dump
基础教程推荐
- Laravel中validation验证 返回中文提示 全局设置的方法 2023-02-21
- PHP下载大文件失败并限制下载速度的实例代码 2023-01-14
- PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析 2023-03-17
- 利用PHP POST临时文件机制实现任意文件上传的方法详解 2023-06-26
- php设计模式之职责链模式定义与用法经典示例 2023-02-13
- PHP原型模式Prototype Pattern的使用介绍 2023-07-12
- python进程与线程小结实例分析 2022-11-26
- PHP保留两位小数的几种方法 2023-01-31
- php字符串截取中文截取2,单字节截取模式 2024-02-02
- 如何在Laravel之外使用illuminate组件详解 2023-05-02