我想用简单的数字索引数组的值替换多维数组的值。每个数组中的值数量相等,但由于数组结构不同,它们没有相同的键/索引。我有一个使用array_combine、迭代和哈希表的工作解决方案,但无法重新创建我的工作。我试过array_merge, array_combine, 和遍历数组。$venue_ids = array( 0 => array( 0 => 2476 ), 1 => array( 0 => 2482, 1 => 2480, 2 => 2463 ), 2 => array( 0 => 2484, 1 => 2476, 2 => 2486, 3 => 2463 ));$names = array( 0 => 'clubhouse', 1 => 'campground', 2 => 'lake', 3 => 'range', 4 => 'trfields', 5 => 'clubhouse', 6 => 'trfields', 7 => 'range' );我希望结果保持第一个数组的结构,并简单地用第二个数组中的值替换它的值。它应该是这样的:$venues = array( 0 => array( 0 => 'clubhouse' ), 1 => array( 0 => 'campground', 1 => 'lake', 2 => 'range' ), 2 => array( 0 => 'trfields', 1 => 'clubhouse', 2 => 'trfields', 3 => 'range' ));的配置$venue_ids将会改变,包括索引的数量和其中的键/值的数量,但总会有一个匹配的 1 比 1 数量的$names. 我很高兴只是替换值或构建一个与结构匹配$venues_id并使用它的全新数组。
1 回答
MM们
TA贡献1886条经验 获得超2个赞
您可能应该问一个关于查询的新问题,看看您是否可以获得正确的结果,但同时您可以使用array_walk_recursive替换值:
array_walk_recursive($venue_ids, function (&$v) use (&$names) { $v = array_shift($names); });
print_r($venue_ids);
输出:
Array
(
[0] => Array
(
[0] => clubhouse
)
[1] => Array
(
[0] => campground
[1] => lake
[2] => range
)
[2] => Array
(
[0] => trfields
[1] => clubhouse
[2] => trfields
[3] => range
)
)
- 1 回答
- 0 关注
- 147 浏览
添加回答
举报
0/150
提交
取消