首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >分别打印从php中的api获取的多维数组

分别打印从php中的api获取的多维数组
EN

Stack Overflow用户
提问于 2018-06-16 23:08:10
回答 2查看 42关注 0票数 0

我想把这个单独打印出来。如何将其转换为数组,以便打印此值

代码语言:javascript
复制
[
    {"id":19,"name":"The Rainbow Room","desc":"Guppy X Delta Network Party","category":"Party","photos":
        [{"id":21,"url":"http:\/\/delta.development.s3.ap-southeast-1.amazonaws.com\/system\/App\/Models\/EventPhoto\/photos\/000\/000\/021\/medium\/Rainbow%20328x%20716-02%20%282%29.png"}]
    },{"id":22,"name":"Kashish 2018 ","desc":"Together with Pride","category":"Film Festival","photos":[]
    },{"id":21,"name":"Cosplay Night","desc":"Guppy X Delta Network Party","category":"Party","photos":
    [{"id":20,"url":"http:\/\/delta.development.s3.ap-southeast-1.amazonaws.com\/system\/App\/Models\/EventPhoto\/photos\/000\/000\/020\/medium\/Cosplay%20328x%20716-01%20%282%29.png"}]
    }
] 
EN

回答 2

Stack Overflow用户

发布于 2018-06-16 23:24:10

json_decode会将json转换为对象或数组

json_decode($json, true);

http://php.net/manual/en/function.json-decode.php

票数 0
EN

Stack Overflow用户

发布于 2018-06-17 01:30:41

为了打印每个单独的项目,您需要将三维数组转换为二维数组:

代码语言:javascript
复制
$mainarray = json_decode($jsondata, true);
$formatted =[];
foreach($mainarray as $key=>$value){
    if(is_array($value)){
        foreach($value as $k=>$v){          
            if(is_array($v)){
                foreach($v as $sk=>$sv){
                    $formatted[$key]['photoid'] = $sv['id'];
                    $formatted[$key]['photourl'] = $sv['url'];
                }
            }else{
                $formatted[$key][$k] = $v;
            }

        }
    }
}
print_r($formatted);

输出:

代码语言:javascript
复制
Array
(
    [0] => Array
        (
            [id] => 19
            [name] => The Rainbow Room
            [desc] => Guppy X Delta Network Party
            [category] => Party
            [photoid] => 21
            [photourl] => http://delta.development.s3.ap-southeast-1.amazonaws.com/system/App/Models/EventPhoto/photos/000/000/021/medium/Rainbow%20328x%20716-02%20%282%29.png
        )

    [1] => Array
        (
            [id] => 22
            [name] => Kashish 2018 
            [desc] => Together with Pride
            [category] => Film Festival
        )

    [2] => Array
        (
            [id] => 21
            [name] => Cosplay Night
            [desc] => Guppy X Delta Network Party
            [category] => Party
            [photoid] => 20
            [photourl] => http://delta.development.s3.ap-southeast-1.amazonaws.com/system/App/Models/EventPhoto/photos/000/000/020/medium/Cosplay%20328x%20716-01%20%282%29.png
        )

)

要打印数据,请执行以下操作:

代码语言:javascript
复制
foreach($formatted as $data=>$row){
    echo $row['name']."\n";
}

输出:

代码语言:javascript
复制
The Rainbow Room
Kashish 2018 
Cosplay Night

要打印名字:

代码语言:javascript
复制
echo $formatted[0]['name'];//for second change zero(0) to [1]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50889066

复制
相关文章

相似问题

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