首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PHP中的二维数组创建日期数组

从PHP中的二维数组创建日期数组
EN

Stack Overflow用户
提问于 2014-03-04 07:02:32
回答 3查看 81关注 0票数 3

我有一个数组,

代码语言:javascript
复制
 $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)
                       ----------
                        );

我想从这个数组创建一个新的数组,

代码语言:javascript
复制
$new_array=array('2014-3-4 1:15','2012-5-7 1:50');

我知道用循环遍历每个元素是可能的,我的数组中是否有任何简单的way?.because包含大量数据(超过50000)。

EN

回答 3

Stack Overflow用户

发布于 2014-03-04 07:08:31

尝试使用地图这样的方法

代码语言:javascript
复制
$newArr = array_map(function($d) {
    return $d['year'] . '-' . $d['month'] . '-' . $d['day'] . ' ' . $d['hour'] . ':' . $d['minut'];
}, $my_array);
票数 2
EN

Stack Overflow用户

发布于 2014-03-04 07:09:02

渔管办可能:

代码语言:javascript
复制
foreach($my_array as $k => $v) {
    $new_array[i] = $v["year"]."-".$v["month"]."-".$v["day"]." ".$v["hour"].$v["minut"];
    i++;
}

//未经测试

票数 1
EN

Stack Overflow用户

发布于 2014-03-04 07:10:36

您可以使用array_map(),但请注意:这将在内部使用循环

代码语言:javascript
复制
$result = array_map(function($x)
{
   return $x['year'].'-'
         .$x['month'].'-'
         .$x['day'].' '
         .$x['hour'].':'
         .$x['minut'];
}, $my_array);

因此,这不会提高整体性能。也不会检查你的约会对象。我建议使用mktime()date(),这样您就可以生成任何日期格式。如果需要检查元素是否包含有效日期,也可以使用checkdate() (顺便说一句,替代这些函数的好方法是DateTime API)

简单连接的唯一好处是,速度会更快一些(因为在使用日期函数时,显然会有开销)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22165099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档