【问题标题】:How can I format a var_dump's output for use as a variable? [duplicate]如何格式化 var_dump 的输出以用作变量? [复制]
【发布时间】:2013-10-23 17:07:33
【问题描述】:

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

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

我希望它的格式如下:

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

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

【问题讨论】:

  • 考虑使用JSON
  • 我不明白你为什么要复制/粘贴任何东西?为什么不直接将变量传递给函数?
  • var_export() 工作吗?
  • @Mike - 它只是用作默认变量。我是,但我只是想知道是否有比手动编辑数组更快的方法。
  • var_export() 是我想要的。谢谢火箭。

标签: php arrays


【解决方案1】:

此功能:

  1. var_export()
    • 专业版:输出格式可以简单地复制/粘贴到 PHP 脚本中。
    • Con:必须粘贴到脚本中。如果你使用eval() 来阅读它,那太糟糕了,我会砍你的。
  2. json_encode()/json_decode()
    • 专业版:广泛用于多种语言,可读性强,易于理解。
    • 缺点:旧版本的 PHP 本身不支持
  3. serialize()/unserialize()
    • 专业版:适用于所有 PHP 版本
    • Con:使用非打印字符 [如 NULL 字节],可能会导致未明确意识到这一事实的 IO 工作流出现问题。

【讨论】:

  • var_export() 非常适合我正在做的事情。这是一个州列表及其纬度和经度。如果需要,我最终会将它们放入数据库中,但目前效果很好。
【解决方案2】:

还可以考虑 print_r,它的操作类似,但提供了第二个参数,当设置为“true”时,会将值作为变量返回,而不是将其打印到 STDOUT。

【讨论】:

    【解决方案3】:

    尝试使用var_export(); var_export tutorial

    【讨论】:

      【解决方案4】:

      尝试用<pre></pre> 标记包装它,它看起来像这样:

      echo '<pre>';
      var_dump($var);
      echo '</pre>';
      

      【讨论】:

      • 这给了前者,我想打印后者。
      猜你喜欢
      • 1970-01-01
      • 2019-02-23
      • 2012-01-05
      • 2014-04-02
      • 1970-01-01
      • 2018-01-10
      • 2013-04-21
      • 1970-01-01
      • 2013-10-07
      相关资源
      最近更新 更多