1

我想分解一个日期,但想将默认索引 0、1、2 分别重命名为年、月、日,我试过但我无法弄清楚。这就是现在正在做的事情。

$explode_date = explode("-", "2012-09-28");
echo $explode_date[0]; //Output is 2012
echo $explode_date[1]; //Output is 09
echo $explode_date[2]; //Output is 28

我想要的是

echo $explode_date['year']; //Output is 2012
echo $explode_date['month']; //Output is 09
echo $explode_date['day']; //Output is 28

谢谢..

4

6 回答 6

6
list($date['year'], $date['month'], $date['day']) = explode('-', '2012-09-28');

http://php.net/list

于 2012-07-13T09:14:34.433 回答
6

使用array_combine

$keys = array('year', 'month', 'day');
$values = explode("-", "2012-09-28");
$dates = array_combine($keys, $values);
于 2012-07-13T09:15:29.453 回答
1
list($year, $month, $day)  = explode("-", "2012-09-28");
$x = compact('year', 'month', 'day');


var_dump($x);
array
  'year' => string '2012' (length=4)
  'month' => string '09' (length=2)
  'day' => string '28' (length=2)
于 2012-07-13T09:14:37.197 回答
0
$explode_date = array (
    'year' => $explode_date [0],
    'month' => $explode_date [1],
    'day' => $explode_date [2]
);
于 2012-07-13T09:14:57.367 回答
0
$explode_date = array();
list($explode_date['year'],$explode_date['month'],$explode_date['day']) = explode("-", "2012-09-28");

var_dump($explode_date);
于 2012-07-13T09:16:13.180 回答
0

您必须绘制出关联:

$explode_date = explode("-", "2012-09-28");
$new_array['year'] = $explode_date[0];
$new_array['month'] = $explode_date[1];
$new_array['day'] = $explode_date[2];

或者,您可以使用 PHP 内置的 DateTime 类(可能更好,因为您想要做的事情已经完成):

http://www.php.net/manual/en/book.datetime.php

$date = new DateTime('2012-09-28');
echo $date->format('Y');
echo $date->format('m');
echo $date->format('d');
于 2012-07-13T09:18:15.697 回答