PHP读取txt数据文件并将数据传递给数组

时间:2012-10-13 05:20:23

标签: php codeigniter

我需要从txt文件中提取以下数据(显示在链接中),然后保存mysql上指定的每个字段,我的问题是如何将每个字段包含在一行中,因为它用空格分隔

我试过了,    array = explode(' ', $line);但该方法可以节省空间

我想把它变成一个数组,

Array=(
 [0] => '1',
 [ 1] => 'OC1',
 [2] => 'Columna', 
 [3] => '1',
 [4] => 'IN45X104',
 [5] => '11745'
 ....
 );  

enter image description here

3 个答案:

答案 0 :(得分:1)

$string = preg_replace("/\s[\s]+/",",",$string);
$array = explode(",",$string);

preg_replace就像str_replace一样工作,但允许您使用正则表达式替换/\s[\s]+/匹配多个空格,然后将所有空格替换为单",",以便现在容易爆炸。

功能来源:http://in3.php.net/manual/en/function.preg-replace.php

答案 1 :(得分:0)

试试这个,

$tok = strtok($string, " \n\t\x0B\0");
while ($tok !== false) 
{
 echo "Word=$tok<br />";
 $tok = strtok(" \n\t\x0B\0");
}
  

strtok()将字符串(str)拆分为更小的字符串(标记),用   每个令牌由令牌中的任何字符分隔。也就是说,如果   你有一个字符串,如“这是一个示例字符串”,你可以标记   通过使用空格字符将此字符串转换为单个单词   令牌。

答案 2 :(得分:0)

使用preg_split()匹配复杂的分隔符

http://codepad.org/fhsTWsZc

<?php

$line="test test2  test3";
$array=preg_split('/\s+/',$line);
print_r($array);