-3

我有我的字符串,长度可能会有所不同

$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
4

1 回答 1

2

在每 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

演示

于 2013-11-13T11:09:34.853 回答