长时间读者第一次提问...
我正在尝试使用Drupal来创建一组变量,而不是问题,所有这些都可以设置它们,并且对于将来的运算符来说很简单。
然后我需要在php中获取这些值,仍然在网站上但在某种程度上在Drupal之外。同样,虽然我在PHP上有点轻量级,但我可以得到我需要的东西。然而,drupal将数据存储在一个“单元格”中(道歉,我搜索了我正在追求的内容,但我认为我的词汇量缺乏得到正确的结果!)。以下是存储方式的示例:
a:3:{i:0; a:3:{s:5:“value”; s:2:“38”; s:5:“label”; s:11:“每次费用 M2 “; S:6:” 重量 “; S:1:” 0 “;} I:1;一个:3:{S:5:” 值 “; S:1:” 7 “; S:5:”标签 “; S:13:” 拱 最佳 成本 “; S:6:” 重量 “; S:1:” 1 “;} I:2; A:3:{S:5:” 值 “; S:1:” 5 “; S:5:”标签 “; S:13:” 平 最高成本“; s:6:”重量“; s:1:”2“;}}
所以我可以愉快地返回上面的全部内容,但我没有丝毫如何将其细化为特定的参考。我可以计算出某些括号集之间的数据,所以,一个参考是:
{s:5:"value";s:2:"38";s:5:"label";s:11:"Cost Per M2";s:6:"weight";s:1:"0";}
我真正需要的是示例中的“38”,因为这是第二个系统使用多个来计算最终成本的成本。
我希望这有道理吗?
答案 0 :(得分:1)
该值已序列化(请参阅http://php.net/manual/en/function.serialize.php)。你想要做的是反序列化它(见http://www.php.net/manual/en/function.unserialize.php)。所以它会是:
$deserializedValues = unserialize($values).
之后,您可以通过执行以下操作来调用变量:
$deserializedValues['value'] (if an array)
$deserializedValues->value (if an object)
答案 1 :(得分:0)
Drupal返回JSON。处理这个问题最干净的方法是使用PHP的json_decode()函数: http://php.net/manual/en/function.json-decode.php