在PHP中从二维数组创建日期数组

在PHP中从二维数组创建日期数组,php,arrays,date,Php,Arrays,Date,我有一个数组 $my_array=array(array('month'=> 3, 'day'=> 4, 'hour' => 1, 'minut' => 15, 'year'=> 2014), array('month'=> 5,

我有一个数组

 $my_array=array(array('month'=> 3,
                       'day'=> 4,
                       'hour' => 1,
                       'minut' => 15,
                       'year'=> 2014),
                    array('month'=> 5,
                       'day'=> 7,
                       'hour' => 1,
                       'minut' => 50,
                       'year'=> 2012)
                       ----------
                        );
$new_array=array('2014-3-4 1:15','2012-5-7 1:50');
我想从这个数组中创建一个新数组,如下所示

 $my_array=array(array('month'=> 3,
                       'day'=> 4,
                       'hour' => 1,
                       'minut' => 15,
                       'year'=> 2014),
                    array('month'=> 5,
                       'day'=> 7,
                       'hour' => 1,
                       'minut' => 50,
                       'year'=> 2012)
                       ----------
                        );
$new_array=array('2014-3-4 1:15','2012-5-7 1:50');

我知道用循环遍历每个元素是可能的,有没有简单的方法?因为我的数组包含大量(超过50000)数据。

使用以下方法尝试类似的操作:

Ofc可能:

foreach($my_array as $k => $v) {
    $new_array[i] = $v["year"]."-".$v["month"]."-".$v["day"]." ".$v["hour"].$v["minut"];
    i++;
}
//未测试

您可以使用,但请注意:这将在内部使用loop

$result = array_map(function($x)
{
   return $x['year'].'-'
         .$x['month'].'-'
         .$x['day'].' '
         .$x['hour'].':'
         .$x['minut'];
}, $my_array);
因此,这不会提高总体性能。它也不会检查你的日期。我建议您使用,这样您就可以生成任何日期格式。或者在需要检查元素是否包含有效日期时使用(顺便说一句,这些函数的良好替代方法是API)


普通连接唯一的好处是速度会快一点(因为在使用日期函数的情况下,显然会有开销)。

我知道这种方法。但是我的数组太大了。它会在foreach执行此操作之前超时。不要忘记向用户反馈脚本仍在工作。