duanjiashai9140 2012-11-26 10:04 采纳率: 0%
浏览 107
已采纳

访问数组内的数组

I am working on a Jira project and I am returning a data from API query. The data is json_encode format.

I am having problem with access an array inside an array.

Here's the json_encode data that I am working.

{
   "expand":"names,schema",
   "startAt":0,
   "maxResults":50,
   "total":1,
   "issues":[
      {
         "expand":"editmeta,renderedFields,transitions,changelog,operations",
         "id":"190579",
         "self":"http://jira.localhost.com/rest/api/2/issue/190579",
         "key":"JIRA-1234",
         "fields":{
            "summary":"Testing Jira ticket only",
            "progress":{
               "progress":0,
               "total":0
            },
            "issuetype":{
               "self":"http://jira.localhost.com/rest/api/2/issuetype/28",
               "id":"28",
               "description":"Short task independent from any project",
               "iconUrl":"http://jira.localhost.com/images/icons/ico_story.png",
               "name":"Ticket",
               "subtask":false
            },
            "timespent":null,
            "reporter":{
               "self":"http://jira.localhost.com/rest/api/2/user?username=username",
               "name":"username",
               "emailAddress":"username@localhost.com",
               "avatarUrls":{
                  "16x16":"http://jira.localhost.com/secure/useravatar?size=small&avatarId=10302",
                  "48x48":"http://jira.localhost.com/secure/useravatar?avatarId=10302"
               },
               "displayName":"User Name",
               "active":true
            },
            "customfield_10430":null,
            "customfield_10490":null,
            "created":"2012-11-26T00:32:26.000-0800",
            "updated":"2012-11-26T00:48:19.000-0800",
            "description":"test description",
            "priority":{
               "self":"http://jira.localhost.com/rest/api/2/priority/6",
               "iconUrl":"http://jira.localhost.com/images/icons/priority_major.gif",
               "name":"Normal",
               "id":"6"
            },
            "issuelinks":[

            ],
            "customfield_10471":null,
            "customfield_11054":[
               "server1,",
               "server2,",
               "server3,",
               "server4",
               "server5,",
               "server6,",
               "server7,",
               "server8,",
               "server9,",
               "server10,",
               "server11,",
               "server12,",
               "server13,"
            ],
            "subtasks":[

            ],
            "status":{
               "self":"http://jira.localhost.com/rest/api/2/status/1",
               "description":"The issue is open and ready for the assignee to start work on it.",
               "iconUrl":"http://jira.localhost.com/images/icons/status_open.gif",
               "name":"Open",
               "id":"1"
            },
            "customfield_10621":null,
            "workratio":-1,
            "customfield_10530":{
               "self":"http://jira.localhost.com/rest/api/2/customFieldOption/10694",
               "value":"S2",
               "id":"10694"
            },
            "customfield_11052":[
               "user.name:1",
               "username:1"
            ],
            "project":{
               "self":"http://jira.localhost.com/rest/api/2/project/JIRA",
               "id":"10190",
               "key":"JIRA",
               "name":"JIRA Tickets",
               "avatarUrls":{
                  "16x16":"http://jira.localhost.com/secure/projectavatar?size=small&pid=10190&avatarId=10011",
                  "48x48":"http://jira.localhost.com/secure/projectavatar?pid=10190&avatarId=10011"
               }
            },
            "customfield_10480":{
               "self":"http://jira.localhost.com/rest/api/2/customFieldOption/10613",
               "value":"QT - Manual",
               "id":"10613"
            },
            "customfield_10420":null,
            "customfield_10054":null,
            "customfield_10053":null,
            "customfield_10051":null,
            "customfield_10630":null,
            "aggregateprogress":{
               "progress":0,
               "total":0
            },
            "timeoriginalestimate":null,
            "customfield_10584":null,
            "customfield_10585":null,
            "customfield_10582":{
               "self":"http://jira.localhost.com/rest/api/2/customFieldOption/10934",
               "value":"Namesd",
               "id":"10934"
            },
            "customfield_10580":{
               "self":"http://jira.localhost.com/rest/api/2/customFieldOption/10808",
               "value":"Names",
               "id":"10808"
            },
            "customfield_10581":{
               "self":"http://jira.localhost.com/rest/api/2/customFieldOption/10913",
               "value":"Name",
               "id":"10913"
            },
            "votes":{
               "self":"http://jira.localhost.com/rest/api/2/issue/JIRA-1234/votes",
               "votes":0,
               "hasVoted":false
            },
            "fixVersions":[

            ],
            "resolution":null,
            "resolutiondate":null,
            "aggregatetimeoriginalestimate":null,
            "customfield_10125":null,
            "duedate":null,
            "watches":{
               "self":"http://jira.localhost.com/rest/api/2/issue/JIRA-1234/watchers",
               "watchCount":1,
               "isWatching":false
            },
            "customfield_10375":null,
            "customfield_10750":"<p>testing only</p>",
            "customfield_10651":"112965",
            "customfield_10374":null,
            "customfield_10650":"128836",
            "customfield_10652":null,
            "customfield_10370":null,
            "assignee":{
               "self":"http://jira.localhost.com/rest/api/2/user?username=johnsmith",
               "name":"johnsmith",
               "emailAddress":"johnsmith@localhost.com",
               "avatarUrls":{
                  "16x16":"http://jira.localhost.com/secure/useravatar?size=small&avatarId=10302",
                  "48x48":"http://jira.localhost.com/secure/useravatar?avatarId=10302"
               },
               "displayName":"John Smith",
               "active":true
            },
            "customfield_10590":null,
            "customfield_10500":{
               "self":"http://jira.localhost.com/rest/api/2/customFieldOption/10630",
               "value":"1",
               "id":"10630"
            },
            "aggregatetimeestimate":null,
            "customfield_10170":null,
            "timeestimate":null,
            "customfield_10440":null,
            "aggregatetimespent":null
         }
      }
   ]
}

Here's my snippet PHP code to access the record and print.

foreach ($json_output->issues as $issues) {

    echo "{$issues->key}";
    echo "{$issues->fields->summary}";
    echo "{$issues->fields->created}";
    echo "{$issues->fields->reporter->name}";

}

Now when I want to access the customfield_11054 so I could print the list of servers

server1, server2, server3, server4, server5, server6, server7, server8, server9, server10,
server11, server12, server13

so I add this

foreach ($json_output->issues as $issues) {

    echo "{$issues->key}";
    echo "{$issues->fields->summary}";
    echo "{$issues->fields->created}";
    echo "{$issues->fields->reporter->name}";
    echo "{$issues->fields->customfield_11054}";    
}

But I am getting result as an array.

  • 写回答

3条回答 默认 最新

  • duannan4486 2012-11-26 10:07
    关注

    print_r($issues->fields->customfield_11054);

    It IS an array, which is why it says it's an array. If you wanted to get the values you'd have to wrap another foreach there:

    foreach ($json_output->issues as $issues) {
    
        echo $issues->key;
        echo $issues->fields->summary;
        echo $issues->fields->created;
        echo $issues->fields->reporter->name;
        foreach($issues->fields->customfield_11054 as $customField)
        {
            echo $customField;
        }
    }
    

    Also, as a side note you don't need to put your variables in "{}" to print them out. They're strings, so just using echo $variable; will work just fine (as I've put in the above snippit).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条