1个多维数组,里面有2个数组合并值

时间:2015-07-21 16:47:57

标签: php arrays multidimensional-array

我有一个动态创建的多维数组,里面有2个数组,但请注意它也可能是4个数组。取决于用户。 问题是我不知道如何将值合并为1个数组,因为我只有1个多维数组,我查看array_merge但需要2个数组。请指出我正确的方向。

它看起来像这样:

array (size=2)
  'standaard' => 
    array (size=4)
      0 => float 0.42
      1 => float 0.74
      2 => float 0.39
      3 => float 0.44
  'natugro' => 
    array (size=4)
      0 => float 0.44
      1 => float 0.8
      2 => float 0.33
      3 => float 0.36

我想要的是将2个数组值合并到1个数组中,分别用':'

像这样:

array (size=1)
     array (size=4)
       0 => string '0.42:0.44' (length=4)
       1 => string '0.74:0.8' (length=4)
       2 => string '0.39:0.33' (length=4)
       3 => string '0.44:0.36' (length=4)

我尝试了什么: 但这只返回一个带有最后一个值的数组。

$test = array_merge($fruitHarvest);
var_dump($test);

这是创建数组的代码。

$dbKenmerk = mysqli_query($conn, 'SELECT kenmerk FROM kenmerken WHERE user_id = '.$user.' AND jaar = '.$_SESSION["jaar"].'');
    while($getKenmerk = mysqli_fetch_assoc($dbKenmerk)){

        $dbFruitHarvest = mysqli_query($conn, 'SELECT vruchten_geoogst FROM gewasregistratie WHERE user_id = '.$user.' AND jaar = '.$_SESSION["jaar"].' AND kenmerk = "'.$getKenmerk["kenmerk"].'"');

        foreach($dbFruitHarvest as $key => $innArr){
            foreach($innArr as $val){
                $fruitHarvest[$getKenmerk["kenmerk"]][] = $val;
            }
        }
    }

    var_dump($fruitHarvest);

1 个答案:

答案 0 :(得分:2)

这应该适合你:

用冒号破坏你的元素。

<?php

    array_unshift($fruitHarvest, function(){return implode(":", func_get_args());});
    $result = call_user_func_array("array_map", $fruitHarvest);

    print_r($result);

?>