【问题标题】:delimited txt file to array? then update mysql PHP分隔的txt文件到数组?然后更新mysql PHP
【发布时间】:2012-05-01 12:47:08
【问题描述】:

我如何去读取一个制表符分隔的 .txt 文件,然后对其进行编码,以便将每一列数据(用制表符分隔)放入一个 php 变量中。

例如....

505050 somedata moredata

然后,将这些变量写入

$id $somedata $moredata

我读入 fgetcsv 并创建了一个数组,虽然它似乎使整行成为一个数组,但我需要将其拆分为变量,以便我可以将其写入 MySQL 数据库中的各个列,

谁能给我指点?

非常感谢...

【问题讨论】:

    标签: php delimited


    【解决方案1】:

    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]}')
    ";
    

    在查询中使用数据之前不要忘记转义数据;-)

    【讨论】:

    • 啊,我的回答失败了。从来不知道 fgetcsv。为你 +1 :)
    • 非常感谢,我会考虑使用explode!
    【解决方案2】:

    explode() 将分割一个字符串。试试这个:

    list($id, $somedata, $moredata) = explode("\t", $string);

    其中$string 是您要拆分的字符串。有关explode() 和list() 的更多信息,请在php.net 上查找。

    【讨论】:

    • 非常感谢您的快速解答!我会考虑使用爆炸功能!
    【解决方案3】:

    【讨论】:

    • DaveRandom 的回答更好。
    猜你喜欢
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多