好的,所以我对PHP相当陌生,但它已经足够像JS了,所以我已经相当快地获得了它。
前几天我遇到的一个问题是从JSON文件中获取值。
我的JSON文件是30,000行,但本质上如下所示:
{
"congress": {
"Brown Sherrod": [{
"birthday": "1952-11-09"
}, {
"gender": "M"
}, {
"type": "sen"
}, {
"state": "OH"
}, {
"party": "Democrat"
}],
...不管怎么说,这种情况还会持续到29000多行。我获取JSON文件内容的代码如下:
$data = json_decode(file_get_contents('path/to/file/convertcsv.json'), true);它返回如下数组:
Array (
[0] => Array (
[birthday] => 1952-11-09
)
[1] => Array (
[gender] => M
)
[2] => Array (
[type] => sen
)
[3] => Array (
[state] => OH
)
[4] => Array (
[party] => Democrat
)
)我遇到的问题是,如果不使用implode(),我就无法得到‘生日’的价值。
此操作:$state = implode($data['congress'][$nameInput][3]);,但这不是:$state = $data['congress'][$nameInput][3];
有什么原因吗?我已经阅读了implode()上的文档(用字符串连接数组元素),从SO和PHP收集的文档中可以获得值,但是为什么呢?为了获得值,必须将数组转换为字符串是没有意义的。在JavaScript中,要从数组(甚至键值)获取值,只需使用数组的'key‘或索引,它就会给出值。
我觉得我要么是在玩一些重要的东西(不是不太可能),要么是PHP很奇怪--可能是前者。所以,为了重申我的问题(因为我可以闲谈),,我是把它弄得太复杂了,还是觉得PHP很奇怪(如果是的话,有什么原因)?
发布于 2014-07-01 06:55:10
试下:-
$state = $data['congress'][$nameInput][3]['state']https://stackoverflow.com/questions/24504052
复制相似问题