【发布时间】:2013-03-01 10:12:10
【问题描述】:
Helo 伙计们。我有必须遵循的 JSON 结构,但我不知道如何使用 PHP 创建这个东西。我尝试使用两个 foreach 和数组,但是当我开始第三级(例如 urlMiniatura)时,我总是会出错,因为它们需要有标签,(urlMiniatura)我的数组总是接收指针作为索引。
JSON 示例:
{
"Tipo de ambiente 1" : {
"ID ambiente 1" : {
"urlMiniatura" : "http://url-absoluta-da-imagem",
"titulo" : "Nome do ambiente",
},
"ID ambiente 2" : {
"urlMiniatura" : "http://url-absoluta-da-imagem",
"titulo" : "Nome do ambiente",
},
(...)
"ID ambiente N" : {
"urlMiniatura" : "http://url-absoluta-da-imagem",
"titulo" : "Nome do ambiente",
}
},
(...)
"Tipo de ambiente N" : {
"ID ambiente 1" : {
"urlMiniatura" : "http://url-absoluta-da-imagem",
"titulo" : "Nome do ambiente",
},
"ID ambiente 2" : {
"urlMiniatura" : "http://url-absoluta-da-imagem",
"titulo" : "Nome do ambiente",
},
(...)
"ID ambiente N" : {
"urlMiniatura" : "http://url-absoluta-da-imagem",
"titulo" : "Nome do ambiente",
}
}
}
我的代码:
foreach ($this->conteudo['tipos_ambientes'] as $linha => $tipo_ambiente_item){
//Seta valores do ambiente
$array_retorno[$linha] = $tipo_ambiente_item['tipo_ambiente'];
//Carrega ambientes
$conteudo['ambientes'] = $this->ambiente_model->get_ambientes_api_by_codigo_tipo_and_codigo_tipo_ambiente(1, $tipo_ambiente_item['codigo_tipo_ambiente']);
if ($conteudo['ambientes'] != null){
foreach($conteudo['ambientes'] as $linha_interna => $ambiente){
$array_retorno[$linha][$linha_interna] = $ambiente['codigo_ambiente'];
$array_retorno[$linha][$linha_interna]['urlMiniatura'] = $ambiente['arquivo'];
}
}
}
$json = json_encode($allLinks);
【问题讨论】:
-
你遇到了什么错误?
-
错误是什么?
-
错误在以下行:$array_retorno[$linha][$linha_interna]['urlMiniatura'] = $ambiente['arquivo'];
-
这里的否决票在 imo 中是不合理的 - OP 已经清楚地说明了他们的问题,并且已经做出了事先的努力。诚然,如果有错误,最好知道它是什么(!),但 5 次反对票显然是不合理的,要求查看 OP 尝试了什么(@Nirav)也是如此。
-
Cannot use string offset as an array in is error.