我制作了这个剧本:
$alleTijden = array("ma_v" => $_POST['maandag_van'],
"ma_t" => $_POST['maandag_tot'],
"di_v" => $_POST['dinsdag_van'],
"di_t" => $_POST['dinsdag_tot'],
"wo_v" => $_POST['woensdag_van'],
"wo_t" => $_POST['woensdag_tot'],
"do_v" => $_POST['donderdag_van'],
"do_t" => $_POST['donderdag_tot'],
"vr_v" => $_POST['vrijdag_van'],
"vr_t" => $_POST['vrijdag_tot'],
"za_v" => $_POST['zaterdag_van'],
"za_t" => $_POST['zaterdag_tot'],
"zo_v" => $_POST['zondag_van'],
"zo_t" => $_POST['zondag_tot']
);
foreach($alleTijden as $label => $tijden) {
$tijd = explode(":", $tijden);
if(count($tijd[0]) != 0 && count($tijd[1]) != 0) {
$uur = $tijd[0];
$minuten = $tijd[1];
$rondeTijden = round_hour($uur, $minuten);
$nieuweTijden = array($label=>$rondeTijden);
}
}
foreach($nieuweTijden as $label => $tijden) {
echo $label.':'.$tijden.'<br>';
}
但新的Array(nieuweTijden)只在循环中添加最后一个值。 它需要在顶部添加所有值,例如forst数组(alleTijden)。
我做错了什么?
答案 0 :(得分:1)
注意:用您的本地语言命名变量被认为是错误的语气。也许你用荷兰语(或任何语言)编写你的变量名更容易,但是我和大多数其他人一样,把它看作随机字符,使你的代码不可读。
现在,到了这一点。 As the docs suggest,要为现有数组添加值,您必须使用[]
。
您的代码:$nieuweTijden = array($label=>$rondeTijden);
正确的代码:$nieuweTijden[] = array($label=>$rondeTijden);
另外,我建议您在为数组添加值之前定义数组:
$nieuweTijden = [];
foreach($alleTijden as $label => $tijden)
{
$tijd = explode(":", $tijden);
if(count($tijd[0]) != 0 && count($tijd[1]) != 0)
{
// ...
$nieuweTijden[] = array($label=>$rondeTijden);
}
}