Php 将数组修改为列表

Php 将数组修改为列表,php,arrays,Php,Arrays,我需要转换此.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列到行尾,必须有一个变量描述从哪个列开始计算) 计算行数。。。 使用foreach循环分解数据并将其设置为数组 $i=0 foreach($lines as $value) { $data[$i

我需要转换此.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列到行尾,必须有一个变量描述从哪个列开始计算)

计算行数。。。 使用foreach循环分解数据并将其设置为数组

$i=0
foreach($lines as $value) {
$data[$i] = explode(";", $value);
<...>
$i++;
}
$i=0
foreach(行作为$value){
$data[$i]=分解(“;”,$value);
$i++;
}
计数($data)
获取行数

sizeof($data[0])获取列数


现在,由于我缺乏php知识,我有点困在这里。

您需要做的是,对于每一行,
array\u拼接前两个元素,然后循环其余元素

大概是这样的:

$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);
    }
}
演示: