我有一个看起来像这样的数组
Array
(
[1] => Array
(
[0] => asdasd
[company] => asdasd
[1] => ASDSADASD
[firstname] => ASDSADASD
[2] => ASDSAD
[lastname] => ASDSAD
[3] => abc@example.com
[email] => abc@example.com
[4] => 58
[user_id] => 58
)
[2] => Array
(
[0] => asdasd
[company] => asdasd
[1] => Hưng
[firstname] => Hưng
[2] => asdasdasd
[lastname] => asdasdasd
[3] => dealer@abc.com
[email] => dealer@abc.com
[4] => 59
[user_id] => 59
)
)
1和2有相同的[公司],我想将数组键更改为[company],应该像这样转换。它们将按唯一的公司密钥分组。
Array
(
[asdasd] => Array
(
[1] => Array (
(
[0] => ASDSADASD
[firstname] => ASDSADASD
[1] => ASDSAD
[lastname] => ASDSAD
[2] => abc@example.com
[email] => abc@example.com
[3] => 58
[user_id] => 58
)
[2] => Array
(
[0] => Hưng
[firstname] => Hưng
[1] => asdasdasd
[lastname] => asdasdasd
[2] => dealer@abc.com
[email] => dealer@abc.com
[3] => 59
[user_id] => 59
)
)
)
请告诉我怎么做。 非常感谢你。
答案 0 :(得分:2)
试试这个
$arr_output = array();
foreach($arr_input as $arr)
{
$key = $arr['company'];
for($i=1; $i<sizeof($arr)/2; $i++)
{
$arr[$i-1] = $arr[$i];
}
unset($arr[$i-1]);
unset($arr['company']);
$arr_output[$key][] = $arr;
}
print_r($arr_output);
参见 Demo
答案 1 :(得分:1)
丑陋的解决方案,但工作
$comp=$r[1]['company'];
unset($r[1][0]);//if you use fetch_assoc instead of fetch_array then you wont get rid of these numerical keys in array
unset($r[1]['company']);
unset($r[2][0]);
unset($r[2]['company']);
$n[$comp]=$r;
print_r($n);
根据需要输出