PHP 数组转换、赋值-如何把第一个数组转换成第二种数组格式

数组一:array(array("email"=>"test_1@baidu.com","firstname"=>"Dora","lastname"=>"luola","... 数组一:
array(
array(
"email" => "test_1@baidu.com",
"firstname" => "Dora",
"lastname" => "luola",
"website" => "http://baidu.com",
),
array(
"email" => "test_2@baidu.com",
"firstname" => "Jim",
"lastname" => "Wolfberg",
"website" => "http://baidu.com",
)
数组二:
array(
"email" => "test_1@baidu.com",
"properties" => array(
array(
"property" => "firstname",
"value" => "Dora",
),
array(
"property" => "lastname",
"value" => "luola",
),
array(
"property" => "website",
"value" => "http://baidu.com",
),
),
),
array(
"email" => "test_2@baidu.com",
"properties" => array(
array(
"property" => "firstname",
"value" => "Jim",
),
array(
"property" => "lastname",
"value" => "Wolfberg",
),
array(
"property" => "website",
"value" => "http://baidu.com",
),
),
)
展开
 我来答
野人拆
2016-09-09 · TA获得超过1069个赞
知道小有建树答主
回答量:815
采纳率:57%
帮助的人:551万
展开全部
<?php
$input = array(
array(
'email' => 'abc@test.com',
'first_name' => 'aaa',
'last_name'  => 'bbb',
'website'  => 'www.abc.com',
),
array(
'email' => 'def@test.com',
'first_name' => 'zzz',
'last_name'  => 'yyy',
'website'  => 'www.zzz.com',
),
);


$output = array_map(function($arr){
$result = array('email' => $arr['email']);
unset($arr['email']);
foreach($arr as $key => $val) {
$result['properties'][] = array('property' => $key, 'value' => $val);
}
return $result;
}, $input);


print_r($output);
?>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式