У меня есть строка, которая может варьироваться в зависимости от длины
$k= "2013-01-0112:00:002013-01-0212:00:002013-01-0312:00:00";
Я ищу substr (), str_replace () или любую другую функцию, я возвращаю мне это
$newstring= ('2013-01-01 12:00:00'), ('2013-01-02 12:00:00'), ('2013-01-02 12:00:00')
Я должен использовать своего рода для каждых 18 символов, поскольку даты исходной строки могут отличаться.
Мое намерение состоит в том, чтобы затем создать запрос «INSERT INTO» MYSQL со всеми сгенерированными датами в столбце «дата».
id date null 2013-01-01 12:00:00 null 2013-01-02 12:00:00 null 2013-01-03 12:00:00
Разделите строку на каждую 18-ю позицию. Затем добавьте пробел на каждое значение массива на 10-й позиции.
$k = "2013-01-0112:00:002013-01-0212:00:002013-01-0312:00:00"; $a = str_split($k, 18); $a = array_map(function($dt) { return implode(' ', str_split($dt, 10)); }, $a); print_r($a);
Демо .
Если вы хотите добавить символ в N-ю позицию:
$k = "2013-01-0112:00:002013-01-0212:00:002013-01-0312:00:00"; echo implode(',', str_split($k, 18)); // ^ ^ // character N-th position
Демо .