使用php / json从数组中获取值

时间:2014-01-27 19:15:18

标签: php arrays json

我试图读取一个ajax发送jsonarray的值来建立我的文件名,但我似乎无法弄清楚如何读取该值。

我的php;

$postdata = $_POST['data'];

$jsondata = json_decode($postdata);
$myname = $jsondata->name;

$dir = 'users/'.$myname.'/desktop-'.$myname.'.json';

json数组看起来像这样;

[{"name":"mmichel"},
 {"myicons":
    [{"icon":
       [{"name":"homepagelink","rel":"http://test.tocadovision.nl","id":"icon1","class":"icon bookmark"}]
     },
     {"icon":
       [{"name":"aboutpagelink","rel":"http://test.tocadovision.nl","id":"icon2","class":"icon bookmark"}]
    }]
}]

希望有人可以告诉我,我做错了什么..一定要轻松我猜

2 个答案:

答案 0 :(得分:1)

由于$jsondata包含一个对象的数组,因此您需要在作业中访问数组的第一个元素:

$myname = $jsondata[0]->name;

答案 1 :(得分:0)

确保在php配置中启用了json。 你可以通过

来做到这一点
<?php
phpinfo();

这应输出类似的内容,表示启用了json模块。如果您没有启用此功能,请启用它。

enter image description here

确保$ json变量中有正确的有效json字符串,并使用以下方法之一。

$arr = json_decode($json, true);
print_r($arr[0]['name']);


$arr = json_decode($json);
print_r($arr[0]->name);