-6

次のようなテキスト ファイルを生成しています。

ipaddress,host
ipaddress,host
ipaddress,host
ipaddress,host
ipaddress,host
...

このファイルを読み、各行をキーと値のペアとして保存するにはどうすればよいですか?

元。

array{
       [ipaddress]=>[host]
       [ipaddress]=>[host]
       [ipaddress]=>[host]
       ..........
     }
4

4 に答える 4

1
$arr = file('myfile.txt');
$ips = array();

foreach($arr as $line){
  list($ip, $host) = explode(',',$line);
  $ips[$ip]=$host;
}
于 2013-01-16T16:50:03.297 に答える
0

簡単な解決策の場合:

<?php
    $hosts = file('hosts.txt', FILE_SKIP_EMPTY_LINES);
    $results = array();
    foreach ($hosts as $h) {
        $infos = explode(",", $h);
        $results[$infos[0]] = $infos[1];
    }
?>
于 2013-01-16T16:51:05.733 に答える
0
<?php
$handle = @fopen("ip-hosts.txt", "r");
$result = array();
if ($handle) {
    while (($buffer = fgets($handle, 4096)) !== false) {
        $t = explode(',', $buffer);
        $result[$t[0]] = $t[1];
    }
    if (!feof($handle)) {
        echo "Error: unexpected fgets() fail\n";
    }
    fclose($handle);
}
// debug:
echo "<pre>";
print_r($result);
echo "</pre>"
?>
于 2013-01-16T16:59:07.917 に答える
0

関数expandを試してください。

//open a file handler
$file = file("path_to_your_file.txt");

//init an array for keys and values
$keys= array();
$values = array();

//loop through the file
foreach($file as $line){

    //explode the line into an array
    $lineArray = explode(",",$line);

    //save some keys and values for this line
    $keys[] = $lineArray[0];
    $values[] = $lineArray[1];
}

//combine the keys and values
$answer = array_combine($keys, $values);
于 2013-01-16T16:52:57.717 に答える