PHP-通过循环解析嵌套的JSON数组



我正在处理一些JSON数据,如下所示:

{
"attachments": [
{
"content": "<base 64 encoded attachment>", 
"content_type": "image/jpeg", 
"original_name": "image000000.jpg"
}, 
{
"content": "<base 64 encoded attachment>", 
"content_type": "image/gif", 
"original_name": "gif0001.jpg"
}
], 
"source_number": "++614567890"
}

我需要循环浏览所有附件数组。我可以得到这样的单个元素:

$arr = json_decode($jsonobj, true);
echo $arr[attachments][0]["content_type"]; // returns image/jpeg

但我无法计算出在所有附件数组中循环并检索每个附件的值的语法,类似于以下伪代码:

foreach($arr[attachments] as $key => $value) {
$contentType = $arr[attachments][0]["content_type" ;
$content = $arr[attachments][0]["content" ;
$originalName = $arr[attachments][0]["original_name" ;
}

它将在循环中为附件数组中的每个项目生成一个变量。

您不需要$key,只需要$value。在循环中,$value是具有关键字contentcontent_typeoriginal_name:的关联数组

foreach($arr["attachments"] as $value) {
$contentType = $value["content_type"];
$content = $value["content"];
$originalName = $value["original_name"];
}

您几乎做到了:循环中的$value['content_type'](等等(将完成任务。($key是多余的。(

哦,你应该用$arr['attachments']而不是$arr[attachments]

最新更新