2013-05-07 3 views
1

Мне нужна помощь преобразования этого CSV-файл:Изменить массив в список

a;a1;1;0;1 
b;b1;1;0;0 

В этот выход:

a;a1;1; 
a;a1;0; 
a;a1;1; 
b;b1;1; 
b;b1;0; 
b;b1;0; 

Выход затем будет вставлен в специальную таблицу в базе данных. (У меня есть сценарий, что это работает просто отлично.)

Logic о том, как он должен работать:

Подсчитать количество столбцов (в данном случае из колонки 3 до конца строки Там должно быть. var, который описывает, из какого столбца подсчитывать);

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

$i=0 
foreach($lines as $value) { 
$data[$i] = explode(";", $value); 
<...> 
$i++; 
} 

count($data);, чтобы получить количество строк

sizeof($data[0]); получить число столбцов

Теперь из-за моего отсутствия знания php, которое я тут застрял.

ответ

0

Что нужно сделать для каждой строки, array_splice первых двух элементов, а затем прокрутите оставшиеся элементы.

Что-то вроде этого:

$data = array(); 
foreach($lines as $value) { 
    $value = explode(";", $value); 

    $first = array_splice($value, 0, 2); 

    foreach($value as $x){ 
     $row = $first; 
     $row[] = $x; 
     $data[] = implode(';', $row); 
    } 
} 

DEMO: http://codepad.org/cckbuu0Y

+0

Это работает фантастически! Спасибо! –

+0

Добро пожаловать! :-D –

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