如何将新元素添加到这种类型的数组中


How do I add new elements to this type of array?

我想知道我必须做些什么才能添加到:

$setting = array(
    'element' => array(
        array(
            'elelemt_name' => '',
            'element_path' => ''
        ),
    )
);

我想添加的对象是:

    array(
        'elelemt_name_two' => '',
        'element_path_two' => ''
    ),

最终结果是:

$setting = array(
    'element' => array(
        array(
            'elelemt_name' => '',
            'element_path' => ''
        ),
        array(
            'elelemt_name_two' => '',
            'element_path_two' => ''
        ),
    ),
);

捕获:$setting=array();可以是$a=array();或者$b=array()或任何东西,所以当包含数组的变量可以命名任何东西时,我不知道该如何添加一些东西。

我所知道的是,第一个关键字$element永远是$element。这样就可以对该部分进行硬编码。

我想写一个函数,比如:

function add_array($type, $array){
    if(is_array($array) && is_array($type)){
        array_push($type, $array);
    }
}

然后我可以这样称呼它:

$array = array(
    'element_name_two' => '',
    'element_path_two' => ''
)

add_array($setting['element'], $array);

这有道理吗?还是我做错了?

不需要重炮:

$setting['element'][] = $new_array;
                   ^^--- short-hand syntax for array_push()

最简单的方法就是添加它。

$setting['element'][] = array('element_name_two' => '','element_path_two' => '');

如果您希望函数调整数组的内容,则应通过引用传入数组。

function add_array(&$type, $array){
    if(is_array($array) && is_array($type)){
        array_push($type, $array);
    }
}