0

私のips.txtファイルには次のコンテンツが含まれています。

radie1230: 116.79.254.131
Y_O_L_O: 122.149.157.42
midgetman63: 121.121.14.101, 124.112.115.69, 114.182.51.1, 114.118.55.131, 111.21.22.156
kypero: 121.211.61.118, 117.117.117.46, 121.214.109.247, 111.219.37.75
lythorous: 111.161.225.214, 12.111.184.71, 1.112.201.113, 11.137.214.184, 1.115.21.117, 12.115.241.212, 11.117.116.217

このリストには、左側にユーザ​​ー名が含ま:れ、右側は IP で区切られています。IP は で区切られてい,ます。

次の出力を作成するための実装は何でしょうか?

Array (
    [midgetman63] => Array
        (
            [0] => 121.121.14.101
            [1] => 124.112.115.69
            [2] => 114.182.51.1
            [3] => 114.118.55.131
            [4] => 111.21.22.156
        )
)
4

3 に答える 3

2

これを試して:

$dataFromFile = file('ips.txt');
$dataFromFile = array_map('trim', $dataFromFile);
$result = array();
foreach ($dataFromFile as $line) {
    list($user, $ips) = explode(':', $line, 2);
    $arrayOfIPs = explode(',', $ips);
    $result[trim($user)] = array_map('trim', $arrayOfIPs);
}

var_dump($result);
于 2013-04-03T00:18:04.330 に答える