php删除多数组的第一个键

时间:2014-06-14 18:36:36

标签: php arrays

我想“追加”或“推”或“合并”两个数组,结构相同。

问题如下:

数组结构:

[0] => Array(
    [KEY1] => value
    [KEY2] => value
    [KEY3] => value
 )

[1] => Array(
    [KEY1] => value
    [KEY2] => value
    [KEY3] => value
)

如果我现在添加一个具有完全相同结构的新数组,(array_push) - >然后我的数组看起来像这样

[0] => Array(
     [0] => Array(
                    [KEY1] => value
                    [KEY2] => value
                    [KEY3] => value
                )

     [1] => Array(
                    [KEY1] => value
                    [KEY2] => value
                    [KEY3] => value
                )
)
[1] => Array(
     [0] => Array(
                    [KEY1] => value
                    [KEY2] => value
                    [KEY3] => value
                )

     [1] => Array(
                    [KEY1] => value
                    [KEY2] => value
                    [KEY3] => value
                )
)

如何将两个或多个数组与一个循环合并/组合,以便我像下面这样增加它?如果你能帮助我,我将非常高兴。

[0] => Array(
                    [KEY1] => value
                    [KEY2] => value
                    [KEY3] => value
                )

[1] => Array(
                    [KEY1] => value
                    [KEY2] => value
                    [KEY3] => value
                )
[2] => Array(
                    [KEY1] => value
                    [KEY2] => value
                    [KEY3] => value
                )

[3] => Array(
                    [KEY1] => value
                    [KEY2] => value
                    [KEY3] => value
                )

编辑:::

我的代码是以下

...

$myData  = getMyData($myID);

$allData = $myData;

for($i=0; $i < $counter; $i++){                 // Counter works properly
       $otherData = getOtherData($otherID);     // getOtherData has SAME output as getMyData
       array_push($allData, $otherData);
}

2 个答案:

答案 0 :(得分:1)

好的,所以我现在可以正常工作......

第1步: 将数组与array_push()

一起推送

第2步: 使用PHP函数array_multisort()

foreach ($termin as $nr => $inhalt)
{
    $band[$nr]  = strtolower( $inhalt['Band'] );
    $ort[$nr]   = strtolower( $inhalt['Ort'] );
    $datum[$nr] = strtolower( $inhalt['Datum'] );
}

array_multisort($datum, SORT_DESC, $termin);

结果正是我所需要的,按日期排序。 谢谢你的想法 - 这个解决方案帮助了我!

答案 1 :(得分:0)

如果我理解正确,你想把A中的数组值连接到另一个数组B作为值(即使A [n]是另一个数组)成为顺序索引,对吗?

我还没有对它进行测试,但我认为这种简单的方法可以正常使用:

function concat_array($dest_array, $src_array)
{
    for($i = 0; $i < count($src_array); $i++)
    {
       if(is_array($src_array[$i]))
          $dest_array = concat_array($dest_array, $src_array[$i]);
        else
           $dest_array [].= $src_array[$i];
    }
    return $dest_array;
}