【问题标题】:Convert database string to array [closed]将数据库字符串转换为数组 [关闭]
【发布时间】:2017-07-07 13:04:24
【问题描述】:

我的一个数据库表中有一个字段,该字段的示例如下所示; ["1","4","7"]。这些是另一个表中引用的键。我想要做的是获取字段并理想地遍历值并从引用的表中获取数据。你会注意到,["1","4","7"] 是一个数组的 PHP 声明,但对于我来说,我无法将它解析为一个数组。我如何将其解析为数组?我错过了什么?

【问题讨论】:

  • 您应该尝试自己编写代码。在doing more research 之后,如果您有问题发布您尝试过的方法,并清楚地解释什么不起作用,并提供a Minimal, Complete, and Verifiable example。阅读How to Ask 一个好问题。请务必take the tour 并阅读this
  • 您应该考虑将这些关系存储在单独的表中/规范化您的数据库,而不是解决这个问题。这将为您以后省去很多麻烦。
  • 因为 PHP 看到的不是数组而是字符串
  • Jay Blanchard.. 我确实尝试过.. 但我设法弄清楚.. 我太没用了.. 结果我忘记了我对我的数据进行 json_encoded.. 大声笑.. 对不起伙计们..跨度>
  • 不是数组,是字符串。另外,请尝试发布您的代码,以便查看者知道您尝试过什么,并为您提供更好的答案。谢谢。

标签: php mysql arrays serialization


【解决方案1】:

您应该能够使用 PHP 的 json_decode 函数将其解码并转换为数组。

示例:

<?php
echo '<pre>';
print_r(json_decode('["1","4","7"]'));
echo '</pre>';
?>

【讨论】:

  • echo 数组返回错误。编辑或警告。但它不返回数组。
  • 应该是 print_r。谢谢:)
【解决方案2】:

如果我理解您的问题是您的数据库列存储了一个字符串 PHP 数组表示。

所以你应该使用函数json_decode

顺便说一句,在数据库中存储关系是一种奇怪的方式

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-24
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多