我希望$servico
将此foreach ($produtos as $produto)
循环的所有迭代存储到数组中:
但是,我只获取最后一次出现的id,name和domain。
$servico = array();
foreach ($resposta->products as $produtos)
{
foreach ($produtos as $produto)
{
if (!empty($produto->domain))
{
$servico['id'] = $produto->id;
$servico['name'] = $produto->name;
$servico['domain'] = $produto->domain;
//seta o pid do produto
$servicoVo->setPid($produto->pid);
//vai buscar o gid do produto:
$groupId = $servicoDao->grupoServico($servicoVo);
//adiciona o group id ao array
$servico['gid'] = $groupId;
}
}
}
//devolve o array
if (!empty($servico))
{
//echo '<pre>';
//var_dump($servico);
//echo '</pre>';
return $servico;
}
我可以在这里得到一些帮助吗? :d
谢谢, MEM
答案 0 :(得分:1)
您每次都在重写ID,名称和域密钥。在生成$groupID
:
$servicio[] = array('id' => $produto->id
,'name' => $produto->name
,'domain' => $produto->domain
,'gid' => $groupId);
这会在数组中创建一个新条目,并使用您想要的新内容填充它。功能上与创建临时数组的其他示例相同,无需实际创建临时数组。
答案 1 :(得分:0)
您不断更改$servico
的元素,而不是在其上添加元素。尝试做这样的事情:
$newItem = Array(); // create the new item we want to add to $servico
// ...populate it like you have been...
$newItem ['id'] = $produto->id;
$newItem ['name'] = $produto->name;
$newItem ['domain'] = $produto->domain;
//seta o pid do produto
$servicoVo->setPid($produto->pid);
//vai buscar o gid do produto:
$groupId = $servicoDao->grupoServico($servicoVo);
//adiciona o group id ao array
$newItem ['gid'] = $groupId;
$servico[] = $newItem; // <-- note this change here, we add the new item to the array
答案 2 :(得分:0)
如果您希望脚本存储所有迭代而不仅仅是最后一个迭代,那么您需要修改脚本的foreach嵌套循环以执行与此类似的操作:
foreach ($resposta->products as $produtos)
{
foreach ($produtos as $produto)
{
if (!empty($produto->domain))
{
// Create a temporary array
$newServico = array();
$newServico['id'] = $produto->id;
$newServico['name'] = $produto->name;
$newServico['domain'] = $produto->domain;
//seta o pid do produto
$servicoVo->setPid($produto->pid);
//vai buscar o gid do produto:
$groupId = $servicoDao->grupoServico($servicoVo);
//adiciona o group id ao array
$newServico['gid'] = $groupId;
// Append the new array to the $servico main array
$servico[] = $newServico;
unset($newServico);
}
}
}
希望能回答你的问题:)