2012-05-07 38 views
0

这可能是一个荒谬的问题,但我正在学习PHP,所以请帮助,如果可以的话。php把一个文件的内容放入一个数组,然后将这个数组的每个字符串拆分成一个单独的数组

我有一个叫做“res_example.txt”文件,它看起来像这样:

>chr1:2198584545754_genome_1000+ 511 66 (+) nan full_model 
>chr2:2198581212154_genome_1000+ 649 70 (+) nan full_model 
>chr3:2115151215754_genome_1000+ 666 80 (+) nan full_model 
>chr4:2198584545754_genome_1000+ 750 90 (+) nan full_model 
>chr5:1218455145754_genome_1000+ 800 100 (+) nan full_model 
>chr6:1231354645454_genome_1000+ 850 110 (+) nan full_model 
>chr7:1231213211134_genome_1000+ 900 120 (+) nan full_model 

我想打开这个文件。将每行放入一个数组$ resArray,所以每行都是一个单独的字符串。 所以这将是这样的:

$resArray= array(' >chr1:2198584545754_genome_1000+ 511 66 (+) nan full_model', '>chr2:2198581212154_genome_1000+ 649 70 (+) nan full_model') 

然后从$ resArray每个键,我想创建另一个数组$ ArrayResults爆炸在字符串中的每个空间的每个字符串。这将使我能够分别处理每个字符串的每个部分。

我希望这是有道理的。我可能没有以正确的方式提问,所以道歉。

感谢您的任何帮助。

回答

4

我想打开此文件。把每行到一个数组

file()

从$ resArray每个键,我想创建另一个数组$ ArrayResults字符串

explode()在每个空间内爆炸的每根弦

所以它会变成这样:

$resArray = file('res_example.txt'); 
$resSplit = array(); 

foreach ($resArray as $res) 
{ 
    $resSplit[] = explode(' ', $res); 
} 
+0

谢谢。这真的提高了我对文件处理的了解。 – user1338194

1

首先,获取文件的内容,并将它们放在变量contents中。

$f = fopen('filename.txt', 'r+'); 
$contents = fread($f, filesize("filename.txt")); 
fclose($f); 

接下来,各执换行符\n(或\r\n如果你是一个Windows机器上)的内容。

$resArray = explode("\n",$contents); 

最后,循环访问数组以分割空间字符上的每个值。

foreach($resArray as $r) { 
    $ArrayResults[] = explode(" ",$r); 
} 

我希望这是你在找什么。

+0

非常感谢。 – user1338194

1

你可能想看看explode(),你可以找到它here。干杯。

相关问题