2016-09-22 150 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))); 
相关问题