文本文件到数组

时间:2017-02-09 17:39:54

标签: php arrays multidimensional-array text

我正在尝试将我的文本文件放入数组中。

我的文本文件内容是这样的:

TextView  Insert_Number_+(numberbuttons) = (TextView ) findViewById(R.id.editTextoutput);

任何人都可以帮我把输出看起来像这样:

TP-Link|192.168.1.247|CHANNEL 02|warehouse
Ruckus|192.168.1.248|CHANNEL 03|entrance

提前感谢..

这是我的代码: -

$servers = array(
    array(
        'name' => 'TP-Link',
        'ip' => '192.168.1.247',
        'channel' => 'CHANNEL 02',
        'location' => 'warehouse',
    ),  
    array(
        'name' => 'Ruckus',
        'ip' => '192.168.1.248',
        'channel' => 'CHANNEL 03',
        'location' => 'entrance',
    ),
);

问题是它输出一个没有数组名称的多维..

我不熟悉多维数组..

3 个答案:

答案 0 :(得分:2)

你可以这样做: -

.as-console-wrapper { max-height: 100% !important; top: 0; }

输出: - https://eval.in/734221

答案 1 :(得分:1)

因此,如果您有一个包含以下内容的文本文件,只需使用以下代码获取所需的输出:

<?php

$str="TP-Link|192.168.1.247|CHANNEL 02|warehouse
Ruckus|192.168.1.248|CHANNEL 03|entrance";

echo '<pre>';
$sections=explode("\n",$str);
print_r($sections);
$finalArray=array();
foreach($sections as $line){
    $finalArray[]=explode("|",$line);
}
print_r($finalArray);

?>

注意:$ str是您从文本文件中获取的文本

答案 2 :(得分:1)

你可以这样做。查看explodefgets

<?php

$servers_array = array();
$handle = @fopen("inputfile.txt", "r");

if ($handle) {
    while (($buffer = fgets($handle)) !== false) {
        $line = explode("|", $buffer);

        $servers_array[] = array(
            "name" => $line[0],
            "ip" => $line[1],
            "channel" => $line[2],
            "location" => $line[3],
        )
    }

    fclose($handle);
}
?>