具有指定标签的PHP Json值

时间:2017-09-17 18:55:30

标签: php json

我正在使用json_decode并使用嵌套的foreach循环回显值。

这是我正在处理的截断json:

[{"product_name":"Product 1","product_quantity":"1","product_price":"2.99"},....

和循环

foreach($list_array as $p){
    foreach($p as $key=>$value) {
        $result_html .= $key.": ".$value."<br />";
    }
}

这是我能够回显所有键/值对。

我尝试使用this回复单个项目,例如:

foreach($list_array as $p){
    foreach($p as $key=>$value) {
        echo "Product: ".$p[$key]['product_name'];
        echo "Quantity: ".$p[$key]['product_quantity'];
    }
}

然而我无法做到,因为它没有回应任何东西。

我希望能够展示:

产品名称: Apple

数量: 7

目前显示:

product_name:Apple

product_quantity:7

如何删除密钥并将其替换为预定义标签。

2 个答案:

答案 0 :(得分:2)

可以通过以下方式完成:

foreach ($list_array as $p){
    $result_html .= 'Product: ' . $p->product_name 
        . 'Quantity: ' . $p->product_quantity . '<br />';
}

答案 1 :(得分:1)

如果要将json解码为对象,可以这样做。

$list_array = json_decode('[{"product_name":"Product 1","product_quantity":"1","product_price":"2.99"}]');

$result_html = '';
foreach($list_array as $p){
    $result_html .= '<div>Product: '.$p->product_name.'</div>';
    $result_html .= '<div>Quantity: '.$p->product_quantity.'</div>';
}
echo $result_html;