我有.csv文件,其中的字符串看起来像
"9.30 AM"
"Username"
"Message"
""
"9.30 AM"
"Username"
"Message"
""
在这里,我想将它们分开,并需要使用单独的列将其存储在数据库中。意思是时间会到时间列,用户名会像它自己的列。当“”出现时,需要检查下一行 手段 “ 9.30 AM” “用户名” “信息” 我该怎么做
我尝试了
echo startsWith($str, '|'); //Returns true
echo endsWith($str, '}'); //Returns true
答案 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