У меня есть массив, заполненный вложенными массивами.
Мне нужно разбить первый массив по заданному номеру строки, а затем вставить новую строку, а затем объединить их все обратно в их исходную структуру.
Это то, с чем я сейчас работаю
$csvpre = explode("###", $data);
$i = 0;
$bgc = 0;
foreach ( $csvpre AS $key => $value){
$info = explode("%%", $value);
$i++;
if($i == "1"){
echo "<tr bgcolor=#efefef><td></td>";
foreach ( $info as $key => $value ){ echo "<td>$value</td>"; }
echo "</tr>";
} else {
if($bgc&1) { $bgcgo = "bgcolor=\"#b9b9b9\"" ;} else { $bgcgo = "bgcolor=\"#d6d6d6\""; }
echo "<tr $bgcgo><td></td>";
echo "<td><input type=button value=\"clone #$i\"></td>";
$j = 0;
foreach ( $info as $key => $value ){
$j++;
if($j != 8){
echo "<td>$value</td>";
}else{
echo "<td><textarea name=ddesc[]>$value</textarea></td>";
}
}
echo "</tr>";
$bgc++;
}
}
Мне нужно создать функцию, которая примет значение для $ i, скажем, 10, и в этой строке разделит массив на две части: $ arraya и $ arrayb. Затем мне нужно объединить их вместе, включая новую строку ...
псевдокод
$ startarray = array (Line0, Line1, Line2, Line3, Line4);
$ splitline = 2;
$ arraya = splitup ($ startarray, $ splitline);
$ arrayb = splitdown ($ startarray, $ splitline);
ArrayA будет состоять из Line0, Line1, Line2
. И ArrayB будет состоять из Line3, Line4
.
Затем мы запускаем магическую функцию.
$newline = "Line2.5";
$newarray = somefunction($arraya, $newline, $arrayb);
И тогда $ newarray будет выглядеть как
Line0, Line1, Line2, Line2.5, Line3, Line4