首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只从PHP数组中获得值(为什么我必须使用内爆?)

只从PHP数组中获得值(为什么我必须使用内爆?)
EN

Stack Overflow用户
提问于 2014-07-01 06:51:07
回答 1查看 107关注 0票数 0

好的,所以我对PHP相当陌生,但它已经足够像JS了,所以我已经相当快地获得了它。

前几天我遇到的一个问题是从JSON文件中获取值。

我的JSON文件是30,000行,但本质上如下所示:

代码语言:javascript
复制
{
    "congress": {
        "Brown Sherrod": [{
            "birthday": "1952-11-09"
        }, {
            "gender": "M"
        }, {
            "type": "sen"
        }, {
            "state": "OH"
        }, {
            "party": "Democrat"
        }],
        ...

不管怎么说,这种情况还会持续到29000多行。我获取JSON文件内容的代码如下:

代码语言:javascript
复制
$data = json_decode(file_get_contents('path/to/file/convertcsv.json'), true);

它返回如下数组:

代码语言:javascript
复制
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很奇怪(如果是的话,有什么原因)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-01 06:55:10

试下:-

代码语言:javascript
复制
$state = $data['congress'][$nameInput][3]['state']
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24504052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档