【发布时间】:2020-12-21 06:39:02
【问题描述】:
我有一个关联数组 $data:
Array
(
[0] => Array
(
[emp_id] => 1
[emp_name] => Emp1
[emp_email] => emp1@example.com
[dep_id] => 1
[dep_name] => Mario
)
[1] => Array
(
[emp_id] => 1
[emp_name] => Emp1
[emp_email] => emp1@example.com
[dep_id] => 2
[dep_name] => Tony
)
[2] => Array
(
[emp_id] => 2
[emp_name] => Emp2
[emp_email] => emp2@example.com
[dep_id] => 3
[dep_name] => Jack
)
)
我想将此数组转换为关联数组,将“依赖”作为关联数组,其中包含两个字段 dep_name 和 dep_id 字段,如下所示:
Array
(
[0] => Array
(
[emp_id] => 1
[emp_name] => Emp1
[emp_email] => emp1@example.com
[dependant] => [
[
[dep_id] => 1
[dep_name] => Mario
]
[
[dep_id] => 2
[dep_name] => Tony
]
]
)
[1] => Array
(
[emp_id] => 2
[emp_name] => Emp2
[emp_email] => emp2@example.com
[dependant] => [
[
[dep_id] => 3
[dep_name] => Jack
]
)
)
我试过用这种方式:
$newEmployeeInfo = [];
$newEmployeeKey = [];
$newDependantInfo = [];
$newKey = 0;
foreach($data as $dataKey => $dataValue){
if(!in_array($dataValue["emp_id"],$newEmployeeKey)){
++$newKey;
$newEmployeeInfo[$newKey]["emp_id"] = $dataValue["emp_id"];
$newEmployeeInfo[$newKey]["emp_name"] = $dataValue["emp_name"];
$newEmployeeInfo[$newKey]["emp_email"] = $dataValue["emp_email"];
}
$newEmployeeInfo[$newKey]["dependant"][$dataKey] = $dataValue[$newDependantInfo];
$newDependantInfo[$newKey]["dep_id"] = $dataValue["dep_id"];
$newDependantInfo[$newKey]["dep_name"] = $dataValue["dep_name"];
];
}
我能够使用键 emp_id、emp_name 和 emp_email 以及各自的值创建关联数组,但无法将 dep_id 和 dep_name 推入“依赖”字段。
【问题讨论】: