2016-09-22 60 views
-2

我想(字符串)數組值加入到單一陣列中,我有一個像下面×3個陣列值:我如何將數組值合併到單個數組中?

Array ([0] => 15 [1] => 16) 
Array ([0] => jan [1] => feb) 
Array ([0] => 2012 [1] => 2012) 

,現在我要像下面在單一陣列中的磁盤陣列:

Array ([0] => 15-jan-2012 [1] => 16-feb-2012) 

那麼我怎麼能在PHP中做到這一點。

+0

你嘗試什麼嗎? – Dave

+0

您可能需要自定義代碼.. –

回答

2

你需要這個自定義代碼:太簡單了,只需要一個循環來訪問每個有索引的數組並存儲在一個數組中。

$d = array(15, 16); 
$m = array("jan", "feb"); 
$y = array (2012, 2012); 

$final = array(); 
for($i = 0; $i < count($d); $i++){ 
    $final[] = $d[$i]. "-" .$m[$i]. "-" .$y[$i]; 
} 
print_r($final); 

輸出:

Array ([0] => 15-jan-2012 [1] => 16-feb-2012) 

您可以使用,array_merge_recursive做到這一點,但有一定難度。

ONLINE DEMO

+0

努曼謝謝..你救了我的生命,完美地工作,我想要的。 –

+0

@SantoshKhatri,你認爲這個答覆由#Noman提供嗎? –

+0

我無法找到誰給了答案,我只是檢查了諾曼編輯所以我認爲諾曼給出了答案..所以可能是我錯了,你已經給出了答案,所以非常感謝幫助我 –

1

快速和骯髒的方式,我假定你的每個陣列都具有相同的長度

$a = array ('15','16'); 
$b = array ('jan','feb'); 
$c = array ('2012','2012'); 

$newArray = array(); 

for($i=0;$i<=count($a);$i++){ 
    $newArray = $a[$i]. "-" .$b[$i]. "-" .$c[$i]; 
} 

echo '<pre>'; 
print_r($newArray); 
echo '</pre>'; 
+0

同樣的答案。什麼是新的 ? – Noman

+0

對不起@Noman。你說的對,但我沒有檢查 –

+0

它的靜止我認爲 –

1

都需要這樣的一個例如自定義代碼:

$arr = []; 
$arr1 = [15, 16, 17, ...]; 
$arr2 = [jan, feb, ...]; 
$arr3 = [2012, 2012, ...]; 

for($i=0, $count = count($arr1); i<$count; i++) 
{ 
    $arr[] = "$arr1[$i]-arr2[$i]-arr3[$i]"; 
} 
var_dump($arr); 
0

使用array_column獲取所需的日期數組,最後使用implode連接它。喜歡的東西

$arr1 = array(15, 16); 
$arr2 = array('jan', 'feb'); 
$arr3 = array(2012, 2012); 

$date = array($arr1, $arr2, $arr3); 
$dates = array(array_column($date, 0), array_column($date, 1)); 

$reqDate = array(); 
foreach ($dates as $dateVal) { 
    $reqDate[] = implode('-', $dateVal); 
} 

var_dump($reqDate); //your required output 
0

你可以寫這一切一舉像這樣:

$a = [15, 16]; 
$b = ['jan', 'feb']; 
$c = [2012, 2012]; 
$dates = array_map(function($arr) { 
    return implode('-', $arr); 
}, array_map(null, $a, $b, $c))); 
相關問題