为了账号安全,请及时绑定邮箱和手机立即绑定

如何将索引数组值分配给多维数组?

如何将索引数组值分配给多维数组?

PHP
jeck猫 2021-11-26 16:45:57
我想用简单的数字索引数组的值替换多维数组的值。每个数组中的值数量相等,但由于数组结构不同,它们没有相同的键/索引。我有一个使用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

        )    

)


查看完整回答
反对 回复 2021-11-26
  • 1 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信