为了账号安全,请及时绑定邮箱和手机立即绑定

php中如何分离和修改字符串的内容?

php中如何分离和修改字符串的内容?

PHP
ABOUTYOU 2023-07-15 17:37:43
我读了一个 csv 文件,如下所示:  391;WETSUITS;07/07/2020 12:47:36;0021000001463;  392;WETSUITS;07/07/2020 12:47:49;0021000007845;             ....我用这种格式检索一个日期:echo $data[2] = 07/07/2020 12:47:36我想要两个变量:$date = 07-07-2020 or 2020-07-07$time = 1247我尝试使用 str_replace 作为第一部分,但收到“注意:未定义偏移:2”作为错误消息,我该如何更改它? <?php$csv = 'C:/wamp64/www/BI/BI1_20200707_1520_28044.csv';if (($handle = fopen("$csv", "r")) !== FALSE) {    while (($data = fgetcsv($handle, 9000000, ";")) !== FALSE){            // echo $data[2]; //07/07/2020 12:47:36        $new = str_replace('/', '_', $data[2]);        echo $date = substr($new,0,20)."\n";;     }}?>
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

此通知可能是由于文件末尾有空行而出现的。因此,只需检查$data数组是否为空即可。


while (($data = fgetcsv($handle, 9000000, ";")) !== false) {

        // empty line will be transformed to [null]

        if (empty(array_filter($data))) {

            continue;

        }


    // other operations

}

建议:更好的是使用 DateTime 进行日期操作。日期格式参考: https: //www.php.net/manual/en/function.date


$date = \DateTime::createFromFormat('d/m/Y H:i:s', $data[2]);

if ($date === false) {

    // handle date parse error

}


$date1 = $date->format('Y-m-d'); // 2020-07-07

$date2 = $date->format('Hi'); // 1247


查看完整回答
反对 回复 2023-07-15
  • 1 回答
  • 0 关注
  • 76 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信