过滤奇数和偶数数组,然后分配键和值各自的值

时间:2014-08-04 20:51:20

标签: php

我有这样的数组。

Array
(
    [0] => Array
        (
            [number] => +918800499626
        )

    [1] => Array
        (
            [carrier] => asdasd
        )

    [2] => Array
        (
            [number] => 342423
        )

    [3] => Array
        (
            [carrier] => assssssss
        )

)

我希望像这样排列

Array
(
    [0] => Array
        (
            [number] => +918800499626
            [carrier] => asdasd
        )

    [1] => Array
        (
           [number] => 342423 
           [carrier] => assssssss
        )
)
像这样的事情。 帮助将受到关注。感谢

2 个答案:

答案 0 :(得分:0)

我会接近它而不是偶数和奇数作为交替条目。因此,我们使用“正常”for循环并加上$i++增量,但也在代码中添加++$i。这意味着每次循环时,$i实际上会增加两次。

for($i = 0; $i < count($inputArray); $i++)
{
    if(isset($inputArray[$i]) && isset($inputArray[$i+1]))
    {
        $resultArray[] = array("number"=>$inputArray[$i]["number"], "carrier"=>$inputArray[++$i]["carrier"]);
    }
}

DEMO

答案 1 :(得分:0)

我认为使用循环最简单的方法。在那种情况下,我写了代码:

$arResult = array();
foreach ($arData as $key => $arValue) {
    $arResult[intval($key/2)][key($arValue)] = $arValue[key($arValue)];
}

$ arData - 你的第一个数组。 Here is demo link.