我如何阅读制表符分隔的.txt文件,然后对其进行编码,以便将每列数据(用制表符分隔)放入php变量中。
例如...... 505050 somedata moredata
然后,将这些变量写入
$id
$somedata
$moredata
我读到了fgetcsv并创建了一个数组,虽然它似乎使整行成为一个数组我需要将它分成变量,以便我可以将它写入MySQL数据库中的各个列,
任何人都可以给我任何指示吗?
非常感谢...
答案 0 :(得分:5)
fgetcsv()
和list()
的组合将是将其拆分为命名变量的最有效方式:
list($id, $somedata, $moredata) = fgetcsv($fp, 0, "\t");
但是,您不需要将它们作为命名变量将它们插入MySQL中,您只需使用fgetcsv()
返回的原始数组:
$row = fgetcsv($fp, 0, "\t");
$query = "
INSERT INTO `tablename`
(`id`, `somedata`, `moredata`)
VALUES
('{$row[0]}', '{$row[1]}', '{$row[2]}')
";
在查询中使用数据之前不要忘记转义数据; - )
答案 1 :(得分:0)
explode()会分割一个字符串。试试这个:
list($id, $somedata, $moredata) = explode("\t", $string);
其中$string
是您要拆分的字符串。有关explode()和list()的更多信息,请查看php.net。
答案 2 :(得分:0)
您可以使用explode()
: