我正在尝试将(字符串)数组值添加到单个数组中,我有三个数组值,如下所示:
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 :(得分: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来做,但有一些困难。
答案 1 :(得分: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>';
答案 2 :(得分: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);
答案 3 :(得分: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
答案 4 :(得分:0)
你可以像这样一起写下所有内容:
$a = [15, 16];
$b = ['jan', 'feb'];
$c = [2012, 2012];
$dates = array_map(function($arr) {
return implode('-', $arr);
}, array_map(null, $a, $b, $c)));