2017-02-09 9 views
-2

を取得し、私はこのような特定のテキストファイルを持っている想像: - 私はこのようにそれらを取るどのようにするテキストファイルPHPは

52 apple, one and teen, 682

を?

$a['aa']['a1'] - 52 
$a['aa']['a2'] - apple 
$a['bb']['b1'] - one 
$a['bb']['b2'] - and 
$a['bb']['b3'] - teen 
$a['cc']['c1'] - 682 

答えて

0

これは、ファイルから行を読み取り、コンマ+スペースでそれらを分割し、スペースでそれらのそれぞれを分割:

<?php 

$lines = file($filename); 

$foo = array_map(
    function($v) { 
     return array_map(
      function($u) { 
       return explode(" ", $u); 
      }, 
      explode(", ", trim($v)) 
     ); 
    }, 
    $lines 
); 

var_dump($foo); 

結果:

array(1) { 
    [0]=> 
    array(3) { 
    [0]=> 
    array(2) { 
     [0]=> 
     string(2) "52" 
     [1]=> 
     string(5) "apple" 
    } 
    [1]=> 
    array(3) { 
     [0]=> 
     string(3) "one" 
     [1]=> 
     string(3) "and" 
     [2]=> 
     string(4) "teen" 
    } 
    [2]=> 
    array(1) { 
     [0]=> 
     string(3) "682" 
    } 
    } 
} 

をあなたが本当に特定の必要がある場合あなたはそれぞれarray_mapの匿名関数のインデックスを扱うことができます。今は数字で索引付けされているだけです。

+0

WOW ..、あなたは非常に速いです:D Thx Bro :) @ccKep – penchY

+0

@penchY [aa '] [' a1 '] ...のインデックスはどうですか? –

+0

警告array_map():行番号13の配列である必要があります。 NULL – penchY

関連する問題