假设我有一个html表单提交的以下数组:
array(
'firstname' => array('Sara','Jim'),
'lastname' => array('Gibson','Jobs')
);
我想要实现的是以下数组:
array(
array(
'firstname' => 'sara',
'lastname' => 'Gibson'
),
array(
'firstname' => 'Jim',
'lastname' => 'Jim'
)
);
我需要一个函数来自动排序数组,不是通过输入数据而是自动处理数组数据。
答案 0 :(得分:2)
$new_arr = array();
$length = count($arr['firstname']);
for($i = 0; $i < $length; $i++)
{
$new_arr[] = array('firstname' => $arr['firstname'][$i], 'lastname' => $arr['lastname'][$i]);
}
答案 1 :(得分:1)
我认为@Tim Cooper的解决方案没有任何问题,但如果您不想手动提及密钥,您也可以使用:
$new_arr = array();
foreach ($arr as $key => $value)
{
foreach ($value as $numkey => $value2)
{
$new_arr[$numkey][$key] = $value2;
}
}