【问题标题】:Substr(). Add characters for each n digits [closed]子字符串()。为每 n 位数字添加字符[关闭]
【发布时间】:2013-11-25 22:50:42
【问题描述】:

我的字符串长度可能不同

$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 的 str_split() 是否有任何问题,然后只需遍历结果数组以使用空格格式化日期/时间?

标签: php mysql substring


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 2020-06-12
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    相关资源
    最近更新 更多