[array_push添加我的数组后添加另一个空数组

问题描述 投票:1回答:1

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

我有此代码:

$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 
        )
)
php arrays multidimensional-array associative-array
1个回答
2
投票

[如有疑问,请避免使用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
        )    
)

Demo on 3v4l.org

© www.soinside.com 2019 - 2024. All rights reserved.