CSV文件上传中每个字符串的开头和结尾处的字符比较

时间:2019-01-24 11:44:05

标签: php

我有.csv文件,其中的字符串看起来像

"9.30 AM"
"Username"
"Message"
""
"9.30 AM"
"Username"
"Message"
""

在这里,我想将它们分开,并需要使用单独的列将其存储在数据库中。意思是时间会到时间列,用户名会像它自己的列。当“”出现时,需要检查下一行 手段 “ 9.30 AM” “用户名” “信息” 我该怎么做

我尝试了

echo startsWith($str, '|'); //Returns true
echo endsWith($str, '}'); //Returns true

1 个答案:

答案 0 :(得分:0)

您可以使用file()打开文件以将其作为数组返回。
然后使用array_chunk()将其拆分为单独的消息并循环。

我添加了一个array_map来删除值周围的",但是如果不需要它,只需使用注释行。

//$csv = file("filename.csv");
$csv = ['"9.30 AM"',
'"Username"',
'"Message"',
'""',
'"9.30 AM"',
'"Username"',
'"Message"',
'""'];

$messages = array_chunk($csv, 4);

foreach($messages as $mess){
    list($time, $user, $m) = array_map(function ($a) { return trim($a, '"'); }, $mess);
    //list($time, $user, $m) = $mess;
    echo $time . " " . $user . " " . $m . PHP_EOL;
}

在foreach循环中,您可以根据需要使用变量。
https://3v4l.org/alctq