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