如何使用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'];

?>

希望有帮助