PHP:在一个多维数组

时间:2016-12-13 13:46:22

标签: php arrays multidimensional-array

我在Stackoweflow上找不到类似的东西,需要帮助。

我有一个这样的数组:

$array = array(
    array(
        1 => false,
        2 => false,
        3 => true,
        4 => true,
        5 => false,
        6 => false,
        7 => false,
        8 => false,
        9 => false,
        10 => false,
    ),
    array(
        1 => false,
        2 => false,
        3 => false,
        4 => true,
        5 => true,
        6 => true,
        7 => true,
        8 => false,
        9 => false,
        10 => false,
    ),
    array(
        1 => false,
        2 => false,
        3 => false,
        4 => false,
        5 => false,
        6 => false,
        7 => false,
        8 => false,
        9 => true,
        10 => true,
    ),
);

我需要这样的结果:

array(
    1 => false,
    2 => false,
    3 => true,
    4 => true,
    5 => true,
    6 => true,
    7 => true,
    8 => false,
    9 => true,
    10 => true,
)

通常这是一个日历功能,我计算1-31,但这并不重要。

我尝试使用call_user_func_arrayarray_merge_recursive,尝试一些自定义foreach,但我在逻辑中堆叠。

如您所见,这不是2个多维数组。这只是一个multidimensinal数组,我需要在一个简单的数组中转换它,如上例所示。

布尔true是最重要的,需要像价值一样在正确的位置。

修改

感谢@MacBooc我得到了工作成果:

$r = array();
foreach($array as $k=>$a){
    foreach($a as $n=>$b){
        if($b===true)
            $r[$n] = $b;
    }
}
$result = array_replace($array[0], $r);
ksort($result);
var_dump($result);

注意:

-Admins,请在关闭或关闭之前仔细阅读问题。

0 个答案:

没有答案