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

我想用简单的数字索引数组的值替换多维数组的值。每个数组中的值数量相等,但由于数组结构不同,它们没有相同的键/索引。


我有一个使用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并使用它的全新数组。


jeck猫
浏览 148回答 1
1回答

MM们

您可能应该问一个关于查询的新问题,看看您是否可以获得正确的结果,但同时您可以使用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        )    )
打开App,查看更多内容
随时随地看视频慕课网APP