2013-05-07 159 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; 

輸出會被插入到數據庫中的一個特定的表。 (我爲這工作得很好的腳本。)

邏輯上應該是如何工作的:

從第3列數列數(在這種情況下,行尾必須有一個。描述從哪一列開始計數的var);行

計數...... 有一個foreach循環爆炸的數據,並把它作爲一個數組

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

count($data);獲得的行數

sizeof($data[0]); GET號

現在由於我缺乏的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

這工作太棒了!謝謝! – 2013-05-07 14:41:19

+0

不客氣! :-D – 2013-05-07 14:42:05