我正在处理一些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
是具有关键字content
、content_type
和original_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]
。