0

現在、次のようなファイルがあります。

Awesomedude123 = 399,408 = September 16, 2012:
Username11 = 1,914,144 = September 16, 2012:
EpicSurfer = 1,031,427 = September 16, 2012:

私がやりたいのは、PHPで多次元配列に変換して、次のようにすることです。

Array
(
    [1] => Array
    (
        [0] => Awesomedude123
        [1] => 399,408
        [2] => September 16, 2012
    )

[2] => Array
    (
        [0] => Username11
        [1] => 1,914,144
        [2] => September 16, 2012
    )

[3] => Array
    (
        [0] => EpicSurfer
        [1] => 1,031,427
        [2] => September 16, 2012
    )

)

array_shift を使用してみましたが、うまくいきませんでした。どんな助けでも大歓迎です!

4

2 に答える 2

2

コードは次のとおりです。

<?php

$data = file_get_contents('File.txt'); // Get the file content
$data = str_replace(array("\n", "\r"), '', $data); // Clear newline characters

$data = explode(':', $data); // Get each record by : at end of line

unset($data[count($data) - 1]); // Clear the last empty element

$final_array = array();
foreach($data AS $row){ // Loop the exploded data
    $final_array[] = explode(' = ', $row); // Explode each row by Space=Space to each row of final_array
}

print_r($final_array);

?>
于 2012-09-16T18:09:14.810 に答える
2

正規表現を使用して文字列を分割できます。

myarray = array();
$file = fopen("myfile",'r');
while (!feof($file)) {
  $line = fgets($file);
  preg_match("/(\w+) = (.+) = (.+)/",$line,$matches);
  myarray[] = array($matches[1],$matches[2],$matches[3]);
}
于 2012-09-16T18:10:10.187 に答える