我如何去读取一个制表符分隔的 .txt 文件,然后对其进行编码,以便将每列数据(用制表符分隔)放入一个 php 变量中。
例如....
505050 somedata moredata
然后,将这些变量写入
$id
$somedata
$moredata
我读入 fgetcsv 并制作了一个数组,尽管它似乎使整行成为一个数组,但我需要将其拆分为变量,以便我可以将其写入 MySQL 数据库中的各个列,
任何人都可以给我任何指示吗?
非常感谢...
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]}')
";
在查询中使用数据之前不要忘记转义数据;-)
explode()将分割一个字符串。试试这个:
list($id, $somedata, $moredata) = explode("\t", $string);
$string
您要拆分的字符串在哪里。有关explode() 和list() 的更多信息,只需在php.net 上查找。
您可以使用explode()
: