我有3个阵列。一个用于约会,一个用于月份,一个用于一年。我想合并所有数组,以便日,月和年数组的值在一个数组中都有单独的值。
示例:
我想转:
Array
(
[0] => 05
[1] => 18
[2] => 31
)
Array
(
[0] => 04
[1] => 11
[2] => 12
)
Array
(
[0] => 2013
[1] => 1998
[2] => 2006
)
进入
Array
(
[0] => 05/04/2013
[1] => 18/11/1998
[2] => 31/12/2006
)
我已经看过合并数组或附加数组,但这似乎不起作用。我希望它们格式为dd/mm/yyyy
的原因是,当我将这些日期放入我的mysql数据库时,我有一个日期格式。
答案 0 :(得分:3)
尝试
$days = [5, 18, 31];
$months = [4, 11, 12];
$years = [2013, 1998, 2006];
$result = array_map(
function ($d, $m, $y) {
return sprintf("%s/%s/%s", $d, $m, $y);
// return DateTime::createFromFormat('d/m/Y', sprintf("%s/%s/%s", $d, $m, $y)); <-- if you need a DateTime object
},
$days,
$months,
$years
);
[]
是自php 5.4以来引入的短数组语法,如果您在旧版本上运行,请使用规范array()
答案 1 :(得分:1)
尝试使用
$days = array(05, 18, 31);
$months = array(04, 11, 12);
$years = array(2013, 1998, 2006);
$result = array_map(
function ($d, $m, $y) {
return sprintf("%d/%d/%d", $d, $m, $y);
},
$days,
$months,
$years
);
echo "<pre>";
print_r($result);
截图
答案 2 :(得分:1)
<?php
$newArray = array();
$array1 = array(05,18,31);
$array2 = array(04,11,12);
$array3 = array(2013,1998,2006);
$i=0;
foreach($array1 as $value) {
$newArray[] = $value.'/'.$array2[$i].'/'.$array3[$i];
$i++;
}
echo '<pre>';print_r($newArray);exit;
?>