Устаревший: функция split() устарела. Как переписать это утверждение?

У меня есть следующее утверждение, которое работало до 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 ответа

Решение

Я думаю, что вы хотите preg_split.

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

Просто попробуйте заменить "split" на "explode" в новой версии PHP, и MYSQL принимает "explode" вместо "split"

$dateTime = new DateTime('2010-08-10 23:07:58');

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

Вы получаете детализацию... В зависимости от того, что вы собираетесь с ним делать, использование объекта DateTime может быть более удобным, чем использование шести отдельных переменных.

var_dump(strptime($post_timestamp, '%Y-%m-%d %H:%M:%S'));
Другие вопросы по тегам