数组有两种类型

时间:2010-12-21 04:25:04

标签: php arrays merge

我有两个数组:

Array
(
    [0] => Mon
    [1] => Sun
)

Array
(
    [0] => Array
        (
            [date] => 2010-12-20
            [hours] => 4
        )

    [1] => Array
        (
            [date] => 2010-12-19
            [hours] => 2.0
        )

)

如何将两者合并为:

Array
(
    [0] => Array
        (
            [date] => 2010-12-20
            [hours] => 4
     [day] => Mon
        )

    [1] => Array
        (
            [date] => 2010-12-19
            [hours] => 2.0
     [day] => Sun
        )

)

谢谢 - Haan的

4 个答案:

答案 0 :(得分:2)

// copy array 2 into the result array.
$combined = $arr2;

// add a new key 'day' with value from first array.
for($i=0;$i<count($combined);$i++) {
        $combined[$i]['day'] = $arr1[$i];
}

See it

答案 1 :(得分:1)

更新

$secondArray[0]['day'] = $firstArray[0]; 
$secondArray[1]['day'] = $firstArray[1]; 

如果您确定它们的尺寸相同:

for($i = 0; $i < count($firstArray); $i++)
{
    $secondArray[$i]['day'] = $firstArray[$i]; 
}

答案 2 :(得分:0)

我想你可能想尝试: $ secondArray [i] ['day'] = $ firstArray [i];

答案 3 :(得分:0)

$dayOfWeek = array('Mon', 'Sun');
$dateWithHours = array( array('date'=>'12-20-2010', 'hours'=>4.0), array('date'=>'12-19-2010', 'hours'=>2.0) );

foreach(&$dateWithHours as $k=$v)
{
     $v['day'] = $dayOfWeek[$k];
}

记住&符号。没有它,$ v是一个不会改变原件的副本。有了它,它就是你可以改变的参考。