for循环中的PHP数组不会添加所有值
我做了这个脚本:
$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)。
我做错了什么?
注意:用您的本地语言命名变量被认为是不好的语气。 也许你用荷兰语(或者其他任何语言)编写你的变量名更容易,但是我和其他大多数人一样,把它看作只是随机字符,使你的代码不可读。
现在,重点。 正如文档所示,要为现有数组添加值,您必须使用[]
。
你的代码: $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);
}
}
链接地址: http://www.djcxy.com/p/59419.html
上一篇: PHP array in for loop doesn't add all values
下一篇: LEFT JOIN, add to array in PHP if results from second table exist