2017-07-07 30 views
0

如果已经提出了这个问题,你们将不得不裸露在我身边。我在我的一个数据库表中有一个字段,这个字段的样本看起来像这样; ["1","4","7"]。这些是另一个表中引用的关键。我想要做的是获取该字段,并理想地循环访问值并从引用的表中获取数据。正如你会注意到的,["1","4","7"]是一个数组的PHP声明,但对于我的生活,我无法解析它作为一个数组。我如何解析它作为一个数组?我错过了什么?提前致谢。将数据库字符串转换为数组

+4

关系的奇怪的方式我们希望你尝试自己**编写代码**。在[**做更多的研究**之后](https://meta.stackoverflow.com/q/261592/1011527)如果你有问题**发布你已经尝试了**的**明确的解释不工作**并提供[最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。阅读[如何问](http://stackoverflow.com/help/how-to-ask)一个很好的问题。请务必[参观](http://stackoverflow.com/tour)并阅读[this](https://meta.stackoverflow.com/q/347937/1011527)。 –

+1

而不是解决这个问题,你应该考虑将这些关系存储在一个单独的表中/规范化你的数据库。这会在以后为你节省很多麻烦。 – jeroen

+0

因为PHP看到的不是一个数组而是一个字符串 – Rushikumar

回答

2

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

例子:

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

回显数组返回一个错误。编辑或警告。但它不返回数组。 – Andreas

+0

应该是一个print_r。谢谢 :) – Companjo

0

如果我明白你的问题是,你的数据库列存储的字符串PHP数组表示。

所以,你应该使用功能json_decode

顺便说这是存储在数据库中