2012-09-16 81 views
0

目前我有一个看起来是这样的文件:爆炸.txt文件到多维数组

Awesomedude123 = 399,408 = September 16, 2012: 
Username11 = 1,914,144 = September 16, 2012: 
EpicSurfer = 1,031,427 = September 16, 2012: 

我想要做的就是它改造成用PHP多维数组,所以它看起来是这样的:

Array 
(
    [1] => Array 
    (
     [0] => Awesomedude123 
     [1] => 399,408 
     [2] => September 16, 2012 
    ) 

[2] => Array 
    (
     [0] => Username11 
     [1] => 1,914,144 
     [2] => September 16, 2012 
    ) 

[3] => Array 
    (
     [0] => EpicSurfer 
     [1] => 1,031,427 
     [2] => September 16, 2012 
    ) 

) 

我试过使用array_shift,但它没有解决。任何帮助将高度赞赏!

+1

发布您的代码,你试过吗? –

回答

2

下面是代码:

<?php 

$data = file_get_contents('File.txt'); // Get the file content 
$data = str_replace(array("\n", "\r"), '', $data); // Clear newline characters 

$data = explode(':', $data); // Get each record by : at end of line 

unset($data[count($data) - 1]); // Clear the last empty element 

$final_array = array(); 
foreach($data AS $row){ // Loop the exploded data 
    $final_array[] = explode(' = ', $row); // Explode each row by Space=Space to each row of final_array 
} 

print_r($final_array); 

?> 
+0

工作就像一个魅力!谢谢! – user1676019

2

您可以使用正则表达式来分割你的字符串:

myarray = array(); 
$file = fopen("myfile",'r'); 
while (!feof($file)) { 
    $line = fgets($file); 
    preg_match("/(\w+) = (.+) = (.+)/",$line,$matches); 
    myarray[] = array($matches[1],$matches[2],$matches[3]); 
}