php怎么输出所有键值对,如何导出PHP数组,其中每个键值对在单独的行中?

我正在寻找与var_export()相同的功能,它允许我将PHP数组导出为可解析的代码,但每个语句应该在单独的行中打印(因此每行都有自己独立的结构).

目前这段代码:

$a = array (1, 2, array ("a", "b", "c"));

var_export($a);

?>

将输出:

array (

0 => 1,

1 => 2,

2 =>

array (

0 => 'a',

1 => 'b',

2 => 'c',

),

)

但是我希望输出如下格式:

$foo = array()

$foo['0'] = 1

$foo['1'] = 2

$foo['2'] = array();

$foo['2']['0'] = 'a';

$foo['2']['1'] = 'b';

$foo['2']['2'] = 'c';

因此执行它将导致相同的原始数组.

目标是以人类可理解的格式管理非常大的阵列,因此您可以轻松地通过复制和放大来取消设置一些选定的项目.粘贴方法(其中每一行包括元素的完整路径).通常当你在屏幕上转储非常大的数组时,问题是你必须长时间滚动才能找到它的父级父级,而且几乎不可能找出哪个元素属于哪个以及它们的完整路径是什么而不会浪费很多时间.

解决方法:

目前我已经found here(由ravenswd发布)这个简单的功能可以实现:

function recursive_print ($varname, $varval) {

if (! is_array($varval)):

print $varname . ' = ' . var_export($varval, true) . ";
\n";

else:

print $varname . " = array();
\n";

foreach ($varval as $key => $val):

recursive_print ($varname . "[" . var_export($key, true) . "]", $val);

endforeach;

endif;

}

recursive_print的输出(‘$a’,$a);:

$a = array();

$a[0] = 1;

$a[1] = 2;

$a[2] = array();

$a[2][0] = 'a';

$a[2][1] = 'b';

$a[2][2] = 'c';

标签:var-dump,php,arrays,export

来源: https://codeday.me/bug/20190824/1704643.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值