如何使用php将文本文件转换为数组?
我有这样一个文本文件:如何使用php将文本文件转换为数组?,php,arrays,Php,Arrays,我有这样一个文本文件: 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
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);
?>
您只需将其转换为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
}
您应该将其转换为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
}
试试这个:
$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'];
试试这个:
$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'];
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'];
?>
希望有帮助 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'];
?>
希望有帮助