我的问题是,我想组合两个数组,一个包含表的标题,另一个包含数据。我想创建一个以列名作为键的关联数组。不知何故,我得到了意想不到的结果(键应用于错误的数组)并且无法弄清楚原因。$header = array(array('Name','Position','Salary'));$data = array( array('John','Manager','30000'), array('Cindy','Associate','50000'), array('Paul','Staff','20000'), array('Mandy','Staff','100000') );array_walk($data, function(&$value, &$key) use ($header) {$value = array_fill_keys($header[0],$value);});var_dump($data);这是在线版本的链接:http : //sandbox.onlinephpfunctions.com/code/5ad09dbf2c0af5d87f17c64118b9c68a7374a666我想要实现的是, $data 中的每一行都有 $header[0] 作为键。
2 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
您可以使用 array_shift 和 array_combine 一起将索引加 1,
$header = array_shift($header); // to index 1 up
array_walk($data, function(&$value, &$key) use ($header) {
$value = array_combine($header,$value);
});
print_r($data);
您将 array_fill_keys 用于错误的目的,
小唯快跑啊
TA贡献1863条经验 获得超2个赞
用 array_combine
array_walk($data, function(&$value, &$key) use ($header) {$value = array_combine($header[0],$value);});
- 2 回答
- 0 关注
- 145 浏览
添加回答
举报
0/150
提交
取消