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

标签 php arrays export var-dump

我正在寻找与 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/

相关文章:

build - 在跨平台环境中管理 conda env

ios - 在 iOS/iPhone SDK 中控制第三方符号的导出

c++ - 使用 _stdcall 将更改 dll 中导出函数的名称

java - 在 Java 中存储预排序键值对的内置方法?

php - 尝试禁用 WordPress 重定向到 https

php - 如何使用 PHPMyAdmin 导出用户

java - 通过服务器运行Java

python csv 文本文件到数组[i,j]

java - 随机排列 Gridview 项目而不重复尝试了多种方法

php - MySQL查询重复内容