2017-02-07 67 views
1

我有一个文本文件是这样的:如何使用php将文本文件转换为数组?

filter 'no' 
interval '15' 
phonenumbers '' 
color 'purple' 
version '24/10/2016' 

而且我希望把中到一个数组,所以当我做$array['filter']输出应该是no当我做$array['color']输出应该是purple这里就是我至今已尝试过:

<?php 
$txt_file = file_get_contents('/home/ab/mytext.txt'); 
$rows  = explode("'", $txt_file); 
var_dump($rows); 
?> 

但它不起作用,我该怎么办?

回答

0

您应该将其放入CSV格式,并将第一个标记设置为关键字,将第二个标记设置为值。

filter, no 
interval, 15 

然后仅仅通过新的生产线爆炸,并解析

$file = file_get_contents(...); 
$lines = explode($file, "\n"); 
foreach($lines as $line) { 
    $l = str_getcsv($line); 
    // assign stuff to array 
} 
0

试试这个:

$txt_file = file_get_contents('/home/ab/mytext.txt'); 
// explode to lines 
$rows  = explode(PHP_EOL, $txt_file); 
$result = array(); 
foreach($rows as $row){ 
    // explode each line by space 
    $parts = explode(' ', $row); 
    // set values of arrray 
    $result[ $parts[0] ] = trim($parts[1], '\''); 
} 

echo $result['color']; 
0

PHP的内置功能file能获得文件内容到数组。数组中的每个值都是文件中的相应行。根据空格分隔符将每一行分解为一个数组。这是您可能正在寻找的代码:

<?php 

    $txt_file = file('/home/ab/mytext.txt', FILE_IGNORE_NEW_LINES); 
    foreach($txt_file as $value) { 
     $value_exploded = explode(' ', $value); 
     $arr[$value_exploded[0]] = $value_exploded[1]; 
    } 

    var_dump($arr); 
    echo $arr['filter']; 

?> 

希望它有帮助!

相关问题