26

我有以下语句在 PHP 5.3 之前使用该split函数运行良好

list($year, $month, $day, $hour, $min, $sec) = split( '[: -]', $post_timestamp );

升级到 PHP 5.3 后,我收到弃用警告:

弃用:函数 split() 已弃用。

我正在尝试解析格式如下的字符串:

2010-08-10 23:07:58

成它的组成部分。

4

4 回答 4

60

我想你想要preg_split

list($year, $month, $day, $hour, $min, $sec) = preg_split('/[: -]/', $post_timestamp);
于 2010-08-10T22:24:01.807 回答
7
$dateTime = new DateTime('2010-08-10 23:07:58');

$year = $dateTime->format('Y');
$month = $dateTime->format('m');

你得到了练习......根据你要用它做什么,使用 DateTime 对象可能比使用六个单独的变量更方便。

于 2010-08-10T22:24:15.300 回答
7

只需尝试将“split”替换为“explode”,较新版本的 PHP 和 MYSQL 接受“explode”而不是“split”

于 2012-06-13T16:32:10.843 回答
4
var_dump(strptime($post_timestamp, '%Y-%m-%d %H:%M:%S'));
于 2010-08-10T22:29:25.657 回答