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

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

60 голосов
/ 11 августа 2010

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

list($year, $month, $day, $hour, $min, $sec) = preg_split('/[: -]/', $post_timestamp);
7 голосов
/ 13 июня 2012

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

7 голосов
/ 11 августа 2010
$dateTime = new DateTime('2010-08-10 23:07:58');

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

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

4 голосов
/ 11 августа 2010
var_dump(strptime($post_timestamp, '%Y-%m-%d %H:%M:%S'));
...