首页 > 解决方案 > array_push 添加我的数组后添加另一个空数组

问题描述

我正在研究一种填充空数组的方法。

我有这个代码:

$array = array();
$month = 'enero';
array_push($array, $array[$month] = array('01'));
array_push($array['enero'], '02');
print_r($array);

这将返回:

Array
(
    [enero] => Array
        (
            [0] => 01
            [1] => 02
        )

    [0] => Array
        (
            [0] => 01
        )

)

数组[0]不知从何而来,我不知道该怎么做。我努力了

array_push($array['enero'], '02');

但它不起作用。我怎样才能得到预期的结果:

Array 
( 
    [enero] => Array 
        ( 
            [0] => 01 
            [1] => 02 
        )
)

标签: phparraysmultidimensional-arrayassociative-array

解决方案


如有疑问,请避免array_push并仅使用[]符号。它具有自动创建不存在的子数组的优点(因此无需使用$array[$month] = array();):

$array = array();
$month = 'enero';
$array[$month][] = '01';
$array[$month][] = '02';
print_r($array);

如果要使用array_push,则需要先创建enero元素,然后再尝试将其推入:

$array = array();
$month = 'enero';
$array[$month] = array();
array_push($array[$month], '01');
array_push($array[$month], '02');
print_r($array);

输出(两段代码):

Array
(
    [enero] => Array
        (
            [0] => 01
            [1] => 02
        )    
)

3v4l.org 上的演示


推荐阅读