PHP用PHP数组提供json_decode()函数?

时间:2014-03-10 14:08:16

标签: php arrays json

我有一个正确的.json物理文件,我通过解析它从PHP中读取它。

假设sales.json包含:

{
    "custid" : "7761", 
    "items" : [
        {
            "itemcode"  : "A11231G",
            "suppliers" : [
                {
                    "id" : "s10001",
                    "name" : "Benny & John",
                },
                            {
                    "id" : "s10004",
                    "name" : "Colorado Dimension",
                }
            ]
        }
    ]
}

然后我从PHP中使用它:

$sales = json_decode( file_get_contents("store/sales.json"), true );

没有问题,$sales已经成为一个没问题的数组。

现在由于某种原因,我想用PHP数组(而不是json_decode()物理文件)提供.json函数。


我知道这实际上就像转换一样愚蠢,Array - > json - > Array,最后是ArrayArray


但无论出于何种原因,

  • 即使我有一个结构正确的PHP Array() ,如果我使用json_encode($phpArray),然后以json_decode( json_encode($phpArray), true )方式提供,它会给出确切的对象我来自json_decode("sales.json")档案?
  • (或)如何使用我拥有的PHP json_decode对象提供Array()函数?

1 个答案:

答案 0 :(得分:2)

实际上,json_decode返回一个STD对象,而不是一个数组。要从JSON字符串中获取数组,您需要使用json_decode($string, true)