Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中将文本文件转换为数组?_Php_Arrays_File_Text - Fatal编程技术网

如何在php中将文本文件转换为数组?

如何在php中将文本文件转换为数组?,php,arrays,file,text,Php,Arrays,File,Text,(一) 我有一个文本文件(转换为.txt)和该内容的用户信息: 0 hbhenet pppoe D4:CA:6D:F1:5D:5A 10.23.0.254 8h1m36s 1 R moh@hj pppoe 00:27:22:16:3B:F2 10.17.0.253 8h1m36s 2 R omarmool@dr pppoe 68:72:51:3A:53:1B 10.17.0.251

(一) 我有一个文本文件(转换为.txt)和该内容的用户信息:

 0   hbhenet      pppoe   D4:CA:6D:F1:5D:5A 10.23.0.254     8h1m36s            
 1 R moh@hj       pppoe   00:27:22:16:3B:F2 10.17.0.253     8h1m36s            
 2 R omarmool@dr  pppoe   68:72:51:3A:53:1B 10.17.0.251     8h1m36s            
 3 R admin@khr2   pppoe   24:A4:3C:9F:83:10 10.17.0.252     8h1m36s            
 4 R yas@ahmed.m  pppoe   24:A4:3C:E6:DD:3E 10.17.0.250     8h1m36s            
 5 R hus@ahmed.m  pppoe   44:D9:E7:DA:32:95 10.16.0.246     8h1m36s        
(二) 我在php中所做的是:

$file="converted.txt";
$fopen = fopen($file, "r");
$fread = fread($fopen,filesize($file));
fclose($fopen);

$remove = "\n";
$split = explode($remove, $fread);
$array[] = NULL;
$tab = "\t";

foreach ($split as $string)
{
    $row = explode($tab, $string);
    array_push($array,$row);
}

echo "<pre>";
print_r($array);
echo "</pre>";

(四) 但我想要的是:

排列(

有什么想法吗? 提前感谢。

我创建了一个名为
myfile.txt的文件-

现在我已经申请了以下代码:-

下面给出了无需更改文本文件中任何内容的解决方法(完整代码):-

我创建了一个名为
myfile.txt
的文件:-

现在我已经申请了以下代码:-

下面给出了无需更改文本文件中任何内容的解决方法(完整代码):-


干得好..我真的很感激你所做的一切.再次感谢@Anant干得好..我真的很感激你所做的一切.再次感谢@Anant
Array
(

    [0] => 
[1] => Array
    (
        [0] =>  0   hbhenet      pppoe   D4:CA:6D:F1:5D:5A 10.23.0.254     8h1m36s            
    )

[2] => Array
    (
        [0] =>  1 R moh@hj       pppoe   00:27:22:16:3B:F2 10.17.0.253     8h1m36s            
    )

[3] => Array
    (
        [0] =>  2 R omarmool@dr  pppoe   68:72:51:3A:53:1B 10.17.0.251     8h1m36s            
    )

[4] => Array
    (
        [0] =>  3 R admin@khr2   pppoe   24:A4:3C:9F:83:10 10.17.0.252     8h1m36s            
    )

[5] => Array
    (
        [0] =>  4 R yas@ahmed.m  pppoe   24:A4:3C:E6:DD:3E 10.17.0.250     8h1m36s            
    )

[6] => Array
    (
        [0] =>  5 R hus@ahmed.m  pppoe   44:D9:E7:DA:32:95 10.16.0.246     8h1m36s        
    )

 )
[0] => Array
    (
        [0] => Array
            (
                [0] => 0
                [1] => 
                [2] => hbhenet
                [3] => pppoe
                [4] => D4:CA:6D:F1:5D:5A
                [5] => 10.23.0.254
                [6] => 8h1m36s
            )
        [1] => Array
            (
                [0] => 1
                [1] => R
                [2] => moh@hj
                [3] => pppoe
                [4] => 00:27:22:16:3B:F2
                [5] => 10.17.0.253
                [6] => 8h1m36s
            )
        [2] => Array
            (
                [0] => 2
                [1] => R
                [2] => omarmool@dr
                [3] => pppoe
                [4] => 68:72:51:3A:53:1B
                [5] => 10.17.0.251
                [6] => 8h1m36s
            )
        [3] => Array
            (
                [0] => 3
                [1] => R
                [2] => admin@khr2
                [3] => pppoe
                [4] => 24:A4:3C:9F:83:10
                [5] => 10.17.0.252
                [6] => 8h1m36s
            )
        [4] => Array
            (
                [0] => 4
                [1] => R
                [2] => yas@ahmed.m
                [3] => pppoe
                [4] => 24:A4:3C:E6:DD:3E
                [5] => 10.17.0.250
                [6] => 8h1m36s
            )
        [5] => Array
            (
                [0] => 5
                [1] => R
                [2] => hus@ahmed.m
                [3] => pppoe
                [4] => 44:D9:E7:DA:32:95
                [5] => 10.16.0.246
                [6] => 8h1m36s
            )
    )
 )
 0   hbhenet      pppoe   D4:CA:6D:F1:5D:5A 10.23.0.254     8h1m36s            
 1 R moh@hj       pppoe   00:27:22:16:3B:F2 10.17.0.253     8h1m36s            
 2 R omarmool@dr  pppoe   68:72:51:3A:53:1B 10.17.0.251     8h1m36s            
 3 R admin@khr2   pppoe   24:A4:3C:9F:83:10 10.17.0.252     8h1m36s            
 4 R yas@ahmed.m  pppoe   24:A4:3C:E6:DD:3E 10.17.0.250     8h1m36s            
 5 R hus@ahmed.m  pppoe   44:D9:E7:DA:32:95 10.16.0.246     8h1m36s        
<?php
$array = explode("\n", file_get_contents('myfile.txt'));

echo "<pre/>";print_r($array);
Array
(
    [0] =>  0   hbhenet      pppoe   D4:CA:6D:F1:5D:5A 10.23.0.254     8h1m36s            
    [1] =>  1 R moh@hj       pppoe   00:27:22:16:3B:F2 10.17.0.253     8h1m36s            
    [2] =>  2 R omarmool@dr  pppoe   68:72:51:3A:53:1B 10.17.0.251     8h1m36s            
    [3] =>  3 R admin@khr2   pppoe   24:A4:3C:9F:83:10 10.17.0.252     8h1m36s            
    [4] =>  4 R yas@ahmed.m  pppoe   24:A4:3C:E6:DD:3E 10.17.0.250     8h1m36s            
    [5] =>  5 R hus@ahmed.m  pppoe   44:D9:E7:DA:32:95 10.16.0.246     8h1m36s        
)
<?php
$array = explode("\n", file_get_contents('myfile.txt'));

echo "<pre/>";print_r($array);
$new_array = array();
foreach($array as $key =>&$arr){

    if ($arr[3] !=='R'){

        $arr[3] ="_";
    }
    $parts = preg_split('/\s+/', trim($arr));
    if($parts[1] == '_'){
        $parts[1] = '';
    }
    $new_array[$key] = $parts;
}

echo "<pre/>";print_r($new_array);
<?php
$array = explode("\n", file_get_contents('myfile.txt'));

echo "<pre/>";print_r($array);
$new_array = array();
$indexed_array = Array('number','flag','name','service','mac','IP','uptime');

foreach($array as $key =>&$arr){

    if ($arr[3] !=='R'){

        $arr[3] ="_";
    }
    $parts = preg_split('/\s+/', trim($arr));
    if($parts[1] == '_'){
        $parts[1] = '';
    }
    $new_array[$key] = array_combine($indexed_array,$parts);
}

echo "<pre/>";print_r($new_array);
    <?php
    $lines = array();
    $fopen = fopen('converted.txt', 'r');
    while (!feof($fopen)) {
        $line=fgets($fopen);
        $line=trim($line);
        $lines[]=$line;

    }
    fclose($fopen);
    $finalOutput = array();
    foreach ($lines as $string)
    {
        $string = preg_replace('!\s+!', ' ', $string);
        $row = explode(" ", $string);
        array_push($finalOutput,$row);
    }
    echo "<pre>";
    print_r($finalOutput);
    echo "</pre>";
?>
    Array
(
    [0] => Array
        (
            [0] => 0
            [1] => hbhenet
            [2] => pppoe
            [3] => D4:CA:6D:F1:5D:5A
            [4] => 10.23.0.254
            [5] => 8h1m36s
        )

    [1] => Array
        (
            [0] => 1
            [1] => R
            [2] => moh@hj
            [3] => pppoe
            [4] => 00:27:22:16:3B:F2
            [5] => 10.17.0.253
            [6] => 8h1m36s
        )

    [2] => Array
        (
            [0] => 2
            [1] => R
            [2] => omarmool@dr
            [3] => pppoe
            [4] => 68:72:51:3A:53:1B
            [5] => 10.17.0.251
            [6] => 8h1m36s
        )

    [3] => Array
        (
            [0] => 3
            [1] => R
            [2] => admin@khr2
            [3] => pppoe
            [4] => 24:A4:3C:9F:83:10
            [5] => 10.17.0.252
            [6] => 8h1m36s
        )

    [4] => Array
        (
            [0] => 4
            [1] => R
            [2] => yas@ahmed.m
            [3] => pppoe
            [4] => 24:A4:3C:E6:DD:3E
            [5] => 10.17.0.250
            [6] => 8h1m36s
        )

    [5] => Array
        (
            [0] => 5
            [1] => R
            [2] => hus@ahmed.m
            [3] => pppoe
            [4] => 44:D9:E7:DA:32:95
            [5] => 10.16.0.246
            [6] => 8h1m36s
        )

)