2

我有一个看起来像这样的数组:

Array
(
    [0] => Array
        (
            [1] => Array
                (
                    [name] => vrij
                    // ...
                )

            [2] => Array
                (
                    [name] => zat
                   // ...
                )
         )
)

我使用 for 循环构建这个数组;但是,我需要再向数组推送 4 个“记录”,而在这个 for 循环中我无法做到这一点。

在推送之后,我希望数组看起来像这样:

    Array
(      
    [0] => Array
    (
        [1] => Array
            (
                [name] => vrij
              // ...
            )

        [2] => Array
            (
                [name] => zat
               // ...
            )
         // ...
     )
    [1] => Array
    ( 
          [1] => Array
              (
               [name] => zon
               //...
              )
           [2] // etc
     )
)

四个新记录应该被推送到数组 [1],所以我得到类似的东西

$array[1][0], $array[1][1], etc. 0 1 2 3 contains the new data. 

老实说,我尝试了很多东西。我需要执行其中四个推送,所以我尝试了一个 for 循环:

for($i = 0; $i < 4; $i++)
    {
        $day_info = $this->get_day_info($i, $data['init']['next_month'], $data['init']['current_year']);
        $push['name'] = $day_info['day_name'];
        array_push($data['dates'], $push);
    }

以及所有其他类型的 []、[1][$i] 等。有时它甚至添加了五个数组!我很困惑为什么它不只是添加 [1][1]、[1][2]、.. 我可能在这里错过了一些东西。非常感谢。

如果不清楚,请告诉我,我会添加更多代码来更好地解释问题。

4

1 回答 1

2
$extradates = array(1 => 'zon', 2 => 'maa');
$data['dates'][] = $extradates;

将使用新索引向数组添加 2 个额外日期。

虽然如果我看到你想要完成的事情,我认为可能会有更好的方法。

上面的工作虽然:)

于 2011-04-28T17:52:04.577 回答