我在php:中有一个这种格式的数据数组
Array
(
[0] => Array
(
[A] => ID
[B] => Name
[C] => 2016/01/16 Qty
[D] => 2016/01/16 Sales
[E] => 2016/01/17 Qty
[F] => 2016/01/17 Sales
)
[1] => Array
(
[A] => 1
[B] => TestPrd1
[C] => 1
[D] => 2
[E] => 3
[F] => 4
)
[2] => Array
(
[A] => 2
[B] => TestPrd2
[C] => 5
[D] => 6
[E] => 7
[F] => 8
)
)
我想要一个修改数组的函数,如下所示:
Array
(
[0] => Array
(
[A] => ID
[B] => Name
[C] => Qty
[D] => Sales
[E] => Date
)
[1] => Array
(
[A] => 1
[B] => TestPrd1
[C] => 1
[D] => 2
[E] => 2016/01/16
)
[2] => Array
(
[A] => 1
[B] => TestPrd1
[C] => 3
[D] => 4
[E] => 2016/01/17
)
[3] => Array
(
[A] => 2
[B] => Testprd2
[C] => 5
[D] => 6
[E] => 2016/01/16
)
[4] => Array
(
[A] => 2
[B] => Testprd2
[C] => 7
[D] => 8
[E] => 2016/01/17
)
)
或者简单地说(第一行包含标题):
ID,名称,2016/01/16数量,2016/01-16销售额,2016/01/17数量,2016/1/17销售额
1、测试Prd1,1,2,3,4
2,测试Prd2,5,6,7,8
成为:
ID、名称、数量、销售额、日期
1,测试日期2016年1月1日至2日
1,测试日期:2016年1月1日,3,4
2,测试计划2,5,6 2016/01/17
2,TestPrd2,7,82016/01/17
我有数千行(这是我的数据的一个非常简化的子集,说明了这个问题),目的是从excel文件中读取它们,并将它们放入mysql中。
关于解决这个问题的最佳方法是什么,有什么想法吗?
// Create a new array to hold data
$dataonlyarray = array();
$dataonlyarray2 = array();
$dataonlyarray3 = array();
$dataonlyarray4 = array();
// Start filling the new array with data
for ($i = 0; $i < sizeof($main_prod_arr); $i++) {
$dataonlyarray2[] = array_slice($main_prod_arr[$i],0,$startingdatecolumn);
$dataonlyarray3[] = array_slice($main_prod_arr[$i],0,$startingdatecolumn);
}
for ($i = 0; $i < sizeof($main_prod_arr); $i++) {
array_push($dataonlyarray2[$i],$main_prod_arr[$i][$startingdatecolumn]);
array_push($dataonlyarray2[$i],$main_prod_arr[$i][$startingdatecolumn]+1);
array_push($dataonlyarray2[$i],$headers_arr[$startingdatecolumn]);
}
for ($i = 0; $i < sizeof($main_prod_arr); $i++) {
array_push($dataonlyarray3[$i],$main_prod_arr[$i][$startingdatecolumn]+2);
array_push($dataonlyarray3[$i],$main_prod_arr[$i][$startingdatecolumn]+3);
array_push($dataonlyarray3[$i],$headers_arr[$startingdatecolumn+3]);
}
$dataonlyarray4[] = array_merge($dataonlyarray2,$dataonlyarray3);
array_push($dataonlyarray,$dataonlyarray4);