gpt4 book ai didi

php - 如何导出每个键值对位于单独行中的 PHP 数组?

转载 作者:可可西里 更新时间:2023-11-01 00:30:07 26 4
gpt4 key购买 nike

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

当前这段代码:

<?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) . ";<br>\n";
else:
print $varname . " = array();<br>\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';

关于php - 如何导出每个键值对位于单独行中的 PHP 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37303504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com