分组或组合多阵列?

时间:2016-10-13 21:08:56

标签: php arrays

这是我的问题,我必须根据以下内容对表进行排序:

1-能力

2级“palier”

我有这个数组:

[C2.1] => Array
        (
            [palier] => Array
                (
                    [0] => 1
                    [1] => 2
                    [2] => 1
                )

            [note] => Array
                (
                    [0] => 12.00
                    [1] => 13.00
                    [2] => 15.00
                )


        )

我希望:

[C2.1] => Array
        (
            [palier] => Array
                (
                    [1] => Array
                        (
                            [note] => Array
                                (
                                    [0] => 12.00
                                    [1] => 15.00

                                )

                        )

                      [2] => Array
                        (
                            [note] => Array
                                (
                                    [0] => 13.00

                                )

                         )

        )

我使用此代码获取第一个数组

foreach ($row5 as $key =>$values)
{
    $val3 = preg_split('/;|,/', $values['cve']);
    $val5 = preg_split('/;|,/', $values['note']);
    $val6 = preg_split('/;|,/', $values['palier']);
    for ($i = 0; $i < count($val3); $i++)
    {

$resultat2[$val3[$i]]['palier'][]= $val6[$i];  
$resultat2[$val3[$i]]['note'][] = $val5[$i];
$resultat2[$val3[$i]]['nombre'] = count($resultat2[$val3[$i]]['note']);
$resultat2[$val3[$i]]['moyenne'] = round(array_sum($resultat2[$val3[$i]]['note'])/count($resultat2[$val3[$i]]['note']),2);
    }

}

但我无法获得第二阵列帮助!

1 个答案:

答案 0 :(得分:0)

foreach ($c21['palier'] as $p=>$group) {
  if (!array_key_exists($group, $result)) {
    $result[$group] = array('note' => array());
  }
  $result[$group]['note'][] = $c21['note'][$p];
}

也可以用迭代器左右来完成,但让我们来点赞。