【问题标题】:assign value to last multidimensional array为最后一个多维数组赋值
【发布时间】:2018-07-13 17:47:49
【问题描述】:

我只想将数组值分配给多维数组中的最后一个数组。 这是我的数组

Array (
[college] => Array (
    [student] => Array (
        [contact] => Array ()
    )
    [parents] => Array (
         [contact] => Array ()
    ) 
) 
[school] => Array (
    [parents] => Array (
        [contact] => Array ()
    )
    [student] => Array (
         [contact] => Array ()
    ) 
    [data] => Array (
         [contact] => Array()
    )
))

事情是每件事都是动态的,有时它可能是简单的数组,也可能是多维数组。 每个键和值都是动态的 我想将数组值分配给最后一个数组,例如。 我想要这样的东西。

$assignArray = array('primary_number'=>123,'main_number'=>123);
Array (
[college] => Array (
    [student] => Array (
        [contact] => Array ('primary_number'=>123,'main_number'=>123)
    )
    [parents] => Array (
         [contact] => Array ('primary_number'=>123,'main_number'=>123)
    ) 
) 
[school] => Array (
    [parents] => Array (
        [contact] => Array ('primary_number'=>123,'main_number'=>123)
    )
    [student] => Array (
         [contact] => Array ('primary_number'=>123,'main_number'=>123)
    ) 
    [data] => Array (
         [contact] => Array('primary_number'=>123,'main_number'=>123)
    )
))

谁能解决? 任何帮助将不胜感激..

【问题讨论】:

  • 您的意思是要将其分配给所有嵌套最深的数组?

标签: php


【解决方案1】:

使用递归过程:

function replace_leaf_arrays(&$array, $replacement) {
    foreach ($array as &$val) {
        if (empty($val)) {
            $val = $replacement;
        } else {
            replace_leaf_arrays($val, $replacement);
        }
    }
}

replace_leaf_arrays($main_array, $assignArray);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 2017-07-07
    • 1970-01-01
    相关资源
    最近更新 更多