我有这个脚本,它从数据库中提取一个 .csv 文件,该文件包含用户登录的不同本地人的数据。.csv 文件如下所示:
"id_user";"id_local"
"1";""
"2";"2,3,4"
"3";""
"5";"2,5"
"10";""
"13";"2"
"14";"5"
"15";"2"
"16";"1"
"20";"2"
"21";""
如您所见,它为每个用户获取一个寄存器但是,要正确操作它,我们需要这样:
"id_user";"id_local"
"2";"2"
"2";"3
"2";"4"
"5";"2"
"5";"5"
"13";"2"
"14";"5"
"15";"2"
"16";"1"
"20";"2"
所以,我需要创建一个函数来删除没有本地的用户并将同一用户的不同本地拆分到不同的寄存器中。有谁知道我该怎么做?
这是我到目前为止的代码,但我不确定我是否走对了路:
function fix_local_secundario(){
$filename = "local_secundario.csv";
$file_locais = file_get_contents($filename);
$locais = explode("\n", $file_locais);
// $pattern = "/,/";
// $replacement = "\"\n;\"";
while ($line = current($locais)) {
$line = str_getcsv($line, ';', '"','\n');
// $line = preg_replace($pattern, $replacement, $line);
var_dump($line);
echo "\n";
next($locais);
}
}