我有来自POST的数组,如下所示:
'0,id_product' => '217'
'0,checked' => '217'
'0,price_setup_original' => '1.00'
'1,price_setup_original' => '7.00'
'1,price_setup_res' => '7.00'
'1,price_monthly_original' => '50.00'
'2,price_setup_res' => '0.00'
'2,price_monthly_original' => '40.00'
'2,price_monthly_res' => '40.00'
我想像这个例子一样迭代它,需要帮助!
array = (
0 -> array(
'id_product' => '217',
'checked' => '217',
'price_setup_original' => '1.00'
),
1 -> array(
'id_product' => '217',
'checked' => '217',
'price_setup_original' => '1.00'
),
);
需要帮助!
尝试:
$formatted = array();
$post = array(
'0,id_product' => '217',
'0,checked' => '217',
'0,price_setup_original' => '1.00',
'1,price_setup_original' => '7.00',
'1,price_setup_res' => '7.00',
'1,price_monthly_original' => '50.00',
'2,price_setup_res' => '0.00',
'2,price_monthly_original' => '40.00',
'2,price_monthly_res' => '40.00'
);
foreach($post as $keys => $val){
list($key1, $key2) = explode(",", $keys);
$formatted[$key1][$key2] = $val;
}
var_dump($formatted);
代码板示例。
foreach
将是您的选择:
$array = [
'0,id_product' => '217' ,
'0,checked' => '217',
'0,price_setup_original' => '1.00' ,
'1,price_setup_original' => '7.00' ,
'1,price_setup_res' => '7.00' ,
'1,price_monthly_original' => '50.00' ,
'2,price_setup_res' => '0.00' ,
'2,price_monthly_original' => '40.00' ,
'2,price_monthly_res' => '40.00',
];
$result = [];
foreach($array as $key=>$item)
{
$key = explode(',', $key);
$result[$key[0]][$key[1]] = $item;
}
完成:
<?
$arr = array(
'0,id_product' => '217',
'0,checked' => '217',
'0,price_setup_original' => '1.00',
'1,price_setup_original' => '7.00',
'1,price_setup_res' => '7.00',
'1,price_monthly_original' => '50.00',
'2,price_setup_res' => '0.00' ,
'2,price_monthly_original' => '40.00',
'2,price_monthly_res' => '40.00');
$newArray = array();
foreach($arr as $key => $item){
$tmp = explode(',',$key);
$newArray[$tmp[0]][$tmp[1]]=$item;
}
print_r($arr);
print_r($newArray);
?>
见工作代码
如果你想在对象中发帖,试试这个,
<?
$arr = array(
'0,id_product' => '217',
'0,checked' => '217',
'0,price_setup_original' => '1.00',
'1,price_setup_original' => '7.00',
'1,price_setup_res' => '7.00',
'1,price_monthly_original' => '50.00',
'2,price_setup_res' => '0.00' ,
'2,price_monthly_original' => '40.00',
'2,price_monthly_res' => '40.00');
foreach($arr as $key => $item){
$tmp = explode(',',$key);
$newArray[$tmp[0]]->{$tmp[1]}=$item;
}
?>