【发布时间】:2020-11-23 15:36:32
【问题描述】:
我正在尝试遍历一个看起来像这样的多维数组:
array (size=342)
0 =>
array (size=11)
0 => string 'data' (length=4)
1 => string 'data1' (length=30)
2 => string 'data2' (length=12)
3 => string 'data3' (length=30)
4 => string 'data4' (length=12)
5 => string 'data5' (length=47)
6 => string 'data6' (length=21)
7 => string 'data7' (length=14)
8 => string 'data8' (length=3)
9 => string 'data9' (length=21)
10 => string 'data10' (length=9)
1 =>
array (size=11)
0 => string 'data' (length=4)
1 => string 'data1' (length=30)
2 => string 'data2' (length=12)
3 => string 'data3' (length=30)
4 => string 'data4' (length=12)
5 => string 'data5' (length=47)
6 => string 'data6' (length=21)
7 => string 'data7' (length=14)
8 => string 'data8' (length=3)
9 => string 'data9' (length=21)
10 => string 'data10' (length=9)
2 =>
...
我希望像这样拆分数组,我可以使用以下 PDO 查询将其插入 SQL 数据库:
$req = $pdo->prepare("INSERT INTO table
(data, data1, data2, data3, data4, data5, data6, data7,
data8, data9, data10)
VALUES (':data', ':data1', ':data2', ':data3', ':data4', ':data5',
':data6', ':data7', ':data8', ':data9', ':data10')");
$req->execute(array(
':data0' => $array[0][0],
':data1' => $array[0][1],
':data2' => $array[0][2],
':data3' => $array[0][3],
':data4' => $array[0][4],
':data5' => $array[0][5],
':data6' => $array[0][6],
':data7' => $array[0][7],
':data8' => $array[0][8],
':data9' => $array[0][9],
':data10' => $array[0][10]
));
我尝试使用以下 for/foreach 循环,但它没有按预期工作:
foreach ($array as $key => $value) {
foreach ($value as $sub_key => $sub_val) {
if (is_array($sub_val)) {
echo $sub_key . " : \n";
foreach ($sub_val as $k => $v) {
echo "\t" .$k . " = " . $v . "\n";
}
} else {
echo $sub_key . " = " . $sub_val . "\n";
}
}
}
我怎样才能做到这一点?
【问题讨论】:
-
您是否尝试过将外部
foreach ($array as $value) {与$req->execute(array( ':data0' => $value[0], ...一起使用 -
向我们展示代码实际生成的内容以及您实际想要生成的内容
-
@NigelRen 我正在尝试你所说的
-
@RiggsFolly 当然,我会编辑代码
-
@NigelRen 你能写下完整的 foreach 套件吗?我无法让它工作......