我想(字符串)數組值加入到單一陣列中,我有一個像下面×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中做到這一點。
我想(字符串)數組值加入到單一陣列中,我有一個像下面×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中做到這一點。
你需要這個自定義代碼:太簡單了,只需要一個循環來訪問每個有索引的數組並存儲在一個數組中。
$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做到這一點,但有一定難度。
努曼謝謝..你救了我的生命,完美地工作,我想要的。 –
@SantoshKhatri,你認爲這個答覆由#Noman提供嗎? –
我無法找到誰給了答案,我只是檢查了諾曼編輯所以我認爲諾曼給出了答案..所以可能是我錯了,你已經給出了答案,所以非常感謝幫助我 –
快速和骯髒的方式,我假定你的每個陣列都具有相同的長度
$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>';
都需要這樣的一個例如自定義代碼:
$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);
使用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
你可以寫這一切一舉像這樣:
$a = [15, 16];
$b = ['jan', 'feb'];
$c = [2012, 2012];
$dates = array_map(function($arr) {
return implode('-', $arr);
}, array_map(null, $a, $b, $c)));
你嘗試什麼嗎? – Dave
您可能需要自定義代碼.. –