SUBSTR()。为每n位数添加字符

时间:2013-11-13 11:04:09

标签: php mysql substring

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

$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个字符使用一种,因为原始字符串的日期可能会有所不同。

我的目的是在“date”列中构建一个“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

1 个答案:

答案 0 :(得分: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);

<强> Demo


如果您希望将字符添加到第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

<强> Demo