print_r用于可读化打印变量,不显类型;var_dump输出完整类型与结构;serialize生成PHP专用序列化字符串;json_encode转标准JSON;自定义递归函数可加缩进与扩展信息。

print_r用于以人类可读的格式打印变量信息,特别适合查看数组结构和内容。它默认将结果直接输出到标准输出,也可通过第二个参数控制返回字符串而非直接打印。
1、在PHP脚本中调用print_r并传入一个索引数组,例如print_r([1, 2, 3]);
2、观察输出结果:Array( [0] => 1 [1] => 2 [2] => 3 ),不显示数据类型标识。
3、若需捕获输出内容,设置第二个参数为true,例如$result = print_r([1, 2, 3], true);
立即学习“PHP免费学习笔记(深入)”;
4、对关联数组使用时,键名与值成对显示,如print_r(['name' => 'Alice', 'age' => 25]);输出Array( [name] => Alice [age] => 25 )。
5、print_r不会显示资源类型变量的具体信息,仅输出Resource id #n。
var_dump提供变量的完整结构信息,包括数据类型、长度、值及嵌套层级,是调试时最详尽的内置输出函数。
1、在PHP中执行var_dump([1, 2, 3]);,输出array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }。
2、对字符串调用var_dump("hello");,输出string(5) "hello",明确标出字符长度。
3、对null值执行var_dump(null);,输出NULL,严格区分大小写与无引号格式。
4、嵌套数组中,每一层缩进清晰,类型与值一一对应,便于定位深层结构问题。
5、var_dump会递归展开对象属性,并显示private/protected修饰符及类名。
serialize将数组转换为可存储或传输的字符串表示,再通过echo或print输出,适用于日志记录或跨环境数据传递场景。
1、定义数组$arr = ['a' => 1, 'b' => [2, 3]];
2、调用$serialized = serialize($arr);得到字符串a:2:{s:1:"a";i:1;s:1:"b";a:2:{i:0;i:2;i:1;i:3;}}。
这本书给出了一份关于python这门优美语言的精要的参考。作者通过一个完整而清晰的入门指引将你带入python的乐园,随后在语法、类型和对象、运算符与表达式、控制流函数与函数编程、类及面向对象编程、模块和包、输入输出、执行环境等多方面给出了详尽的讲解。如果你想加入 python的世界,David M beazley的这本书可不要错过哦。 (封面是最新英文版的,中文版貌似只译到第二版)
9
3、使用echo $serialized;输出该序列化字符串。
4、可在另一上下文中用unserialize()还原原始数组结构。
5、序列化结果不可直接阅读,但保证了数据完整性与PHP原生兼容性。
json_encode将PHP数组转换为标准JSON字符串,适用于API响应、前端交互或配置导出等需要跨语言解析的场合。
1、准备一个简单数组$nums = [1, 2, 3];
2、执行$json = json_encode($nums);得到"[1,2,3]"。
3、对关联数组$person = ['name' => 'Bob', 'active' => true];调用json_encode后输出{"name":"Bob","active":true}。
4、启用JSON_UNESCAPED_UNICODE选项可避免中文被转义为\u编码。
5、json_encode无法处理资源、闭包、部分对象及循环引用,遇到时返回false。
通过编写递归函数控制输出格式、添加层级缩进与类型标注,可灵活适配不同调试需求,弥补内置函数在可读性或扩展性上的不足。
1、定义函数function dump_array($arr, $level = 0) { $indent = str_repeat(" ", $level); }
2、在函数内判断is_array($arr),若是则遍历每个键值对并递归调用自身,增加$level + 1。
3、对非数组值,拼接$indent . "$key => $value"并输出。
4、在每层开始前输出当前层级提示,如"Level $level:"。
5、该方式支持插入颜色标记、时间戳或文件位置信息,便于复杂环境下的问题追踪。
以上就是php函数数组输出方式_print_r与var_dump输出数组【详解】的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号