[英]Feeding associative array through loop
I'm trying to feed an associative array but it always keeps only the last inserted value. 我正在尝试提供一个关联数组,但它始终仅保留最后插入的值。
$turmas = array(
'cod_disciplina' => '',
'cod_turma' => '',
'hr_inicio' => '',
'hr_fim' => '',
'dia_semana' => ''
);
foreach($temp as $t)
{
$result = Horario::select('cod_disciplina', 'cod_turma', 'hr_inicio', 'hr_fim', 'dia_semana')
->where('cod_disciplina', $t->cod_disciplina)
->where('cod_turma', $t->cod_turma)
->where('ano_semestre', $ano_semestre)->get();
foreach($result as $r)
{
$turmas['cod_disciplina'] = $r->cod_disciplina;
$turmas['cod_turma'] = $r->cod_turma;
$turmas['hr_inicio'] = $r->hr_inicio;
$turmas['hr_fim'] = $r->hr_fim;
$turmas['dia_semana'] = $r->dia_semana;
}
}
The array $turmas
always keep the last insert only. $turmas
数组始终仅保留最后一个插入。 I know it's overwriting things, but I have no idea how to fix it. 我知道它覆盖了所有内容,但我不知道如何解决。
This is an example of what I expect as a final result. 这是我期望最终结果的一个例子。
Array
(
[0] => Array
(
[cod_disciplina] => DPS1000
[cod_turma] => 11
[hr_inicio] => 15:30:00
[hr_fim] => 17:30:00
[dia_semana] => Terça-feira
)
[1] => Array
(
[cod_disciplina] => DPS1000
[cod_turma] => 11
[hr_inicio] => 13:30:00
[hr_fim] => 15:30:00
[dia_semana] => Quarta-feira
)
[2] => Array
(
[cod_disciplina] => DPS1002
[cod_turma] => 10
[hr_inicio] => 08:30:00
[hr_fim] => 12:30:00
[dia_semana] => Quarta-feira
)
[3] => Array
(
[cod_disciplina] => DPS1003
[cod_turma] => 10
[hr_inicio] => 07:30:00
[hr_fim] => 09:30:00
[dia_semana] => Segunda-feira
)
[4] => Array
(
[cod_disciplina] => DPS1003
[cod_turma] => 10
[hr_inicio] => 10:30:00
[hr_fim] => 10:30:00
[dia_semana] => Segunda-feira
)
)
What you want is an array of arrays, so inside your foreach append new $turma
array to $turmas
array. 您想要的是一个数组数组,因此在您的foreach内部将新的
$turma
数组追加到$turmas
数组。
$turmas = [];
foreach($temp as $t) {
$result = Horario::select('cod_disciplina', 'cod_turma', 'hr_inicio', 'hr_fim', 'dia_semana')
->where('cod_disciplina', $t->cod_disciplina)
->where('cod_turma', $t->cod_turma)
->where('ano_semestre', $ano_semestre)->get();
foreach($result as $r) {
$turma = [];
$turma['cod_disciplina'] = $r->cod_disciplina;
$turma['cod_turma'] = $r->cod_turma;
$turma['hr_inicio'] = $r->hr_inicio;
$turma['hr_fim'] = $r->hr_fim;
$turma['dia_semana'] = $r->dia_semana;
$turmas[] = $turma;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.