我有一个包含以下数据的数组
Array
(
[ref_no] =>
[supply_from] =>
[issue_to] =>
[issue_date] =>
[product_id] => Array
(
[0] => abc-20
[1] => xyz-20
)
[purpose_id] => Array
(
[0] => 100
[1] => 100
)
)
我希望使用foreach循环这样的数组来保存数据库表中的记录
Array(
'product_id'=>abc-20,
'purpose_id'=>100
)
我试过这个
foreach($_POST as $key=>$val)
{
$result = array(
'product_id' => $product_id[$key],
'purpose_id' => $purpose_id[$key]
);
print_r($result);
}
答案 0 :(得分:1)
Iterare by product_id数组和create数组,其中包含product_id和purpose_id。请尝试以下代码:
<?php
$product_ids = $array['product_id'];
$purpose_ids = $array['purpose_id'];
$new_array = array();
foreach ($product_ids as $key => $value) {
$tmp_array = array();
$tmp_array['product_id']=$value;
$tmp_array['purpose_id']=isset($purpose_ids[$key]) ? $purpose_ids[$key] : "";
$new_array[] = $tmp_array;
}
print_r($new_array);
答案 1 :(得分:1)
你可以这样做: -
$final_array = array();
foreach ($array['product_id'] as $key => $value) {
$final_array[$key]['product_id']=$value;
$final_array[$key]['purpose_id']=isset($array['purpose_id'][$key]) ? $array['purpose_id'][$key] : "";
}
print_r($final_array);
输出: - https://eval.in/892361或https://eval.in/892407($ _POST变量)
答案 2 :(得分:0)
您想要访问列式数据,因此您只需要迭代product_id
行并使用索引来访问列。
使用以下代码段可以更简单地完成您的任务。
代码:(Demo)
$_POST=[
'ref_no'=>'',
'supply_from'=>'',
'issue_to'=>'',
'issue_date'=>'',
'product_id'=>['abc-20','xyz-20'],
'purpose_id'=>[100,100]
];
foreach($_POST['product_id'] as $i=>$value){
$result[]=[$_POST['product_id'][$i],$_POST['purpose_id'][$i]];
}
var_export($result);
输出:
array (
0 =>
array (
0 => 'abc-20',
1 => 100,
),
1 =>
array (
0 => 'xyz-20',
1 => 100,
),
)