我有一个这样的文本文件:
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 :(得分: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
}
答案 1 :(得分: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'];
答案 2 :(得分: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'];
?>
希望它有所帮助!