从字符串中提取细节

时间:2014-04-25 11:55:09

标签: php arrays string

我的数据库中有一个字符串以及varchar

类型
{"available":"","bind":"0","hours":{"00:00":{"available":"","bind":"0","info":"","notes":"","price":"","promo":"","status":"none"}},"hours_definitions":[{"value":"00:00"}],"info":"","notes":"","price":"100","promo":"","status":"available"}

如何从中提取价格?

2 个答案:

答案 0 :(得分:6)

该字符串是有效的JSON数据,因此您需要做的就是解码为数组以供PHP阅读。像这样:

$data = json_decode($string);
$price = $data->price;

要强制它成为数组而不是对象,请将true传递给json_decode的第二个参数,如下所示:

$data = json_decode($string, true);
$price = $data['price'];

答案 1 :(得分:0)

对我来说这看起来像JSON,所以步骤非常简单: 1.使用json_decode($response, true)将JSON转换为数组。 2.视为正常阵列。

因此,以下代码应该可以正常使用

$info = json_decode($jsonCode, true);
$price = $info['price'];

如果您不需要其他变量,价格将存储在$price$info['price']

json_decode()的第二个参数意味着它将返回关联数组(就像你在这里的数组)作为数组而不是对象。它通常更有用,但是你总是可以将它设置为false(或者只是将它保留为false,因为false是默认值)。

有关其参数的更多信息,请参阅json_decode's PHP documentation page