2010-12-21 21 views
3

我有兩個數組:陣列兩種

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 
     ) 

) 

謝謝 - 阿里漢

+1

合併數組將不會得到您要查找的結果 - 它們的順序不同。假設第一個數組將Sun放在Mon之前,我會給出一個答案,但是如果您不能依賴這個問題,那麼這個問題實際上比數組問題 – 2010-12-21 04:31:43

回答

1

更新。

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

如果您確定大公它們都具有相同的尺寸:

for($i = 0; $i < count($firstArray); $i++) 
{ 
    $secondArray[$i]['day'] = $firstArray[$i]; 
} 
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

+0

@ codaddict:非常感謝。工作正常。謝謝你們所有的寶貴建議。 – hjaffer2001 2010-12-23 04:42:18

0

我想你可能也想嘗試: $ secondArray [I] [」一天'] = $ firstArray [i];

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是不會改變原始文件的副本。有了它,這是一個可以改變的參考。