首页 > 解决方案 > 如何使用 PHP 从 JSON 中的数组中获取值?

问题描述

我有这个 JSON,我通过 POST 将它发送到我的 PHP 文件 Products.php,它应该从购物车中获取值(发货、名称、地址等)以及行和内部每个产品的值(id、名称、类别等)。

{
    "cart": {
        "lines": [{
            "product": {
                "id": 1,
                "name": "Product 1",
                "category": "Category 1",
                "description": "Product 1 (Category 1)",
                "price": 100
            },
            "quantity": 1
        }],
        "itemCount": 1,
        "cartPrice": 100
    },
    "shipped": false,
    "name": "Joe Smith",
    "address": "123 Main Street",
    "city": "Smallville",
    "state": "NY",
    "zip": "10036",
    "country": "USA"
}

在 products.php 我解码 JSON:

$jsondata = file_get_contents('php://input');
$data = json_decode($jsondata, true);

然后我像这样打印出来:

foreach($data as $key => $value) {
    print_r($key  . " => " . $value . "<br>");
  }

我得到了除了购物车值之外的所有值,因为它是一个数组,我不知道如何访问该数组及其值。

Notice: Array to string conversion.

cart => Array
shipped=>
name=> 123
address=> 123
city=> 123
state=> 123
zip=> 123
country=> 123

我需要每行的产品 ID,以便在用户下订单时将其插入数据库中,但我似乎无法访问嵌套在数组中的值,如果有人可以帮助我,那就是非常感谢,非常感谢您花时间阅读本文并帮助新手。

标签: phparraysjsonobjectpost

解决方案


推荐阅读