2016-12-05 2 views
-1

私はPHPExcelでExcelファイルを解析しています。PHP - Excelを解析してカンマで文字列を分解する

$res = array(); 
foreach ($array1 as $key => $value) 
{ 
    if ($arr != '') 
    { 
     $res[$key] = explode(",", str_replace('"', '', $value)); 
    } 
} 

Array 
(
    [0] => "987654321","55,12,11" 
    [1] => "789456123","1,2,3" 
    [2] => "998877665","10,11,12" 
    [3] => "112233345","8" 
) 

Iは$array1を解析するためにこのコードを使用:$array1ために次のように

________________________ 
|  A  |  B | 
________________________ 
| 987654321 | 55,12,11 | 
| 789456123 | 1,2,3 | 
| 998877665 | 10,11,12 | 
| 112233345 |  8 | 
________________________ 

PHPExcel出力は次のようにExcelファイルは、2つの列AとBを有します私はこの結果を得たい:

Array 
(
    [0] => Array 
     (
      [0] => 987654321 
      [1] => 55,12,11 
     ) 

    [1] => Array 
     (
      [0] => 789456123 
      [1] => 1,2,3 
     ) 
) //etc... 

しかし、その代わりに、私は得る:

Array 
(
    [0] => Array 
     (
      [0] => 987654321 
      [1] => 55 
      [2] => 12 
      [3] => 11 
     ) 

    [1] => Array 
     (
      [0] => 789456123 
      [1] => 1 
      [2] => 2 
      [3] => 3 
     ) 
) //etc.. 

どのように結論付けることができますか?

+0

...あなたは '$の[値]を爆発させたくない場合は、なぜあなたは')(爆発 '使用していますか? – Chris

+0

@Chris '$ value'には2つの部分があります。私はちょうど最初の部分を望んで、2番目の部分は分離されます。 –

答えて

1

それはそれは、Excelから来るのかだとしてCSVとしてそれを扱う:

foreach($array1 as $key => $value) { 
    $res[$key] = str_getcsv($value); 
} 
1

あなたは使用することができます。このような構文解析をカンマ区切りのセクションでは、すぐに失敗すること

$res[$key] = explode('","', trim($value, '"')); 

注意をあなたの代わりに、整数の文字列を分離しようとしているよう。