2013-10-07 2 views
0

В php как получить файл по его пути и вернуть его содержимое в массив? позволяет сказать, что у меня есть файл: file.txt, которые имеют путь: path_file, а файл TSV, как это:открыть файл и получить содержимое в массиве

a0 b0 
a1 b1 
a2 b2 
... 

, как я могу получить доступ к файлу и поставить его содержимое в массив как это:

array(
array(a0,b0), 
array(a1,b1), 
array(a2,b2), 
) 

Как получить содержимое файла с помощью пути?

function get_content_file($path_file) 
{ 
$data[]; 
    //open file by path 
    //read file content 
    //push the content in an array 
    return $data; 
} 
+0

Я предложил бы изучить ['файл()'] (http://uk1.php.net/manual/en/function.file.php) и ['array_map()'] (http: // uk1 .php.net/array_map) с пользовательской функциональной связью ['explode()'] (http://uk3.php.net/explode) – SmokeyPHP

+0

http://php.net/manual/en/function.file.php – Ashish

ответ

1

Вы уже можете получить файл в массив строку за строкой с file. Если вы хотите, чтобы каждый элемент в массиве, чтобы быть сам массив, то используйте array_map для обработки строк:

$data = file($path_file); 
$data = array_map(function($l) { return explode(" ", $l); }, $data); 

Если формат файла не является «значения, разделенные одним пробелом», то этот код не будет работать правильно ; в этом случае используйте соответствующую функцию разделения (возможно, preg_split), чтобы разбить каждую строку на токены.

+1

Я закончил свой комментарий, и он превратился в завершенный ответ! Nice one =) – SmokeyPHP

+0

@SmokeyPHP: Параллельные мыслительные процессы :) – Jon

+0

Действительно! FYI, о вашей линии в конце о разделении, OP использует термин TSV, поэтому я предполагаю, что взорвать нужно использовать '\ t' – SmokeyPHP

Смежные вопросы