关于php:如何格式化var_dump的输出以用作变量?

How can I format a var_dump's output for use as a variable?

本问题已经有最佳答案,请猛点这里访问。

我有一个函数,它使用print_r吐出一个数组,并希望捕获变量内的信息,将其输入到函数中,以用于特定的用例。我简化了输出,使其更容易理解。

1
2
3
[fruit] => 'banana'
[color] => 'yellow'
[sizes] => array('small', 'medium')

我希望它的格式是这样的:

1
$var = 'fruit' => 'banana', 'color' => 'yellow', 'sizes' => array('small', 'medium');

这样,我可以复制和粘贴第一个的输出,并将其分配给一个新的默认变量。


此功能:

  • 埃多克斯1〔3〕
    • pro:输出的格式可以简单地复制/粘贴到PHP脚本中。
    • 反对:必须粘贴到脚本中。如果你用eval()来读这本书,那是很可怕的做法,我就把你砍掉。
  • 埃多克斯1〔5〕
    • pro:广泛应用于多种语言,人类可读,易于理解。
    • con:在旧版本的php中本机不支持
  • 埃多克斯1〔6〕
    • pro:在所有版本的PHP中都可用
    • con:使用非打印字符[如空字节],这可能会导致IO工作流出现问题,而这些工作流没有明确意识到这一事实。

  • 尝试使用var_export();var_导出教程


    也可以考虑使用print_r,它的操作类似,但提供了第二个参数,当设置为"true"时,将以变量的形式返回值,而不是将其打印到stdout。


    试着用ZZU1〔0〕标签包装它,这样会看起来像:

    1
    2
    3
    echo '[cc lang="php"]';
    var_dump($var);
    echo '

    号;[cc lang="php"]