2016-12-05 3 views
-1

Я разбираю файл Excel на PHPExcel. Файл Excel имеет два столбца A и B. Как следует:PHP - Pars Excel и взорвать строку запятыми

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

выход PHPExcel следующим за $array1:

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

Я использую этот код для разбора $array1:

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

Я хочу получить этот результат:

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

... почему вы используете 'взорваться()', если вы не хотите, чтобы взорвать '$ value'? – Chris

+0

@Chris '$ value' состоит из двух частей. Мне просто нужна первая часть, и вторая часть будет разделена. –

ответ

1

Treat как CSV, как это, как это прибывает из Excel:

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

Вы можете использовать:

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

Обратите внимание, что при разборе запятая разграниченные участки, как это потерпит неудачу, как только вы пытаетесь отделить строки вместо целых чисел.

Смежные вопросы