2014-01-28 179 views
3

我有兩個數組,看起來像這樣:如何將兩個數組合併成一個數組?

0 => string '2014-02-14' (length=10) 
    1 => string '2014-03-14' (length=10) 
    2 => string '2014-04-14' (length=10) 
    3 => string '2014-05-14' (length=10) 
    4 => string '2014-06-16' (length=10) 
    5 => string '2014-07-14' (length=10) 

另:

0 => string '2014-01-30' (length=10) 
    1 => string '2014-02-27' (length=10) 
    2 => string '2014-03-31' (length=10) 
    3 => string '2014-04-30' (length=10) 
    4 => string '2014-05-29' (length=10) 
    5 => string '2014-06-30' (length=10) 

我想要做的是在一個特定的方式這兩個數組合並,這樣我就可以轉移使用它以CSV,所以我需要是這樣的:

0 => string '2014-02-14,2014-02-14' 

所以它應該是firstarray_valuesecondarray_value新陣列,反正是有操縱這兩AR如上所述,射線是否會成爲一個陣列?

回答

4

只是嘗試:

$array1 = array(/* your data */); 
$array2 = array(/* your data */); 
$output = array(); 

for ($i = 0; $i < count($array1); ++$i) { 
    $output[] = $array1[$i] . ',' . $array2[$i]; 
} 

要與fputcsv使用它:

for ($i = 0; $i < count($array1); ++$i) { 
    $output[] = array($array1[$i], $array2[$i]); 
} 

foreach ($output as $fields) { 
    fputcsv($fp, $fields); 
} 

編輯:

$output = array_map(null, $array1, $array2); 

和:

您可以通過合併這些陣列更快然後als ○:

foreach ($output as $fields) { 
    fputcsv($fp, $fields); 
} 
+0

HSZ謝謝你的回答,不過當我讓'$ output'它給了我一個正確的格式,如果我做的var_dump:'$計劃生育=的fopen('files.csv ','w'); ($ outputas $ fields){ fputcsv($ fp,$ fields); } fclose($ fp);'CSV文件是空的,你知道它是格式還是...?謝謝! – Liza

+0

@Liza要將它與'fputcsv'一起使用,你必須作爲第二個參數傳遞一個數組。看看我的編輯。 – hsz

+0

非常感謝您的好意:)它完美的工作! +1 – Liza

1
$array3 = array(); 
foreach($array1 as $key=>$val){ 
    $array3[] = $val.",".$array2[$key]; 
} 
print_r($array3); 
+0

@OliverBS您的編輯不是必需的,都是'$ val。「,」。 $ array2 [$ key]'和'「$ val,$ array2 [$ key]」'是正確的。我不明白你爲什麼必須投票回答這個問題! –

相關問題