【问题标题】:PHP array_push one array into anotherPHP array_push 一个数组到另一个数组
【发布时间】:2017-12-24 13:01:04
【问题描述】:

我需要使用 array_push 或类似的方法在另一个数组中添加一个数组。

我想要达到的效果如下所示:

$years = array(
    "2017" => array("Value01", "Value02"),
    "2016" => array("Value03")
);

在另一个数组中创建数组的最佳方法是什么?我尝试了以下方法:

array_push($years, "2016" => array());

这只是给出了一个

500 错误。

还有:

array_push($years, "2016");

这确实在 $yearshow 中添加了一个新数组,但它被称为“2018”,并且“2016”值位于该 2018 数组中。我已经手动创建了 2017 数组,所以我认为它只是出于某种原因增加了该数字。

【问题讨论】:

标签: php arrays multidimensional-array


【解决方案1】:

使用array_push()的正确方法:-

array_push($years, array("2016" => array()));

但是你想要什么,就这样做:-

$years["2016"]= array();

输出:- https://eval.in/834452

【讨论】:

    【解决方案2】:

    无需推送:

    <?php 
    
    $years = [];
    
    $years[][] = 'value1';
    $years[][] = 'value2';
    
    var_dump($years);
    ?>
    

    或者:

    $years['someKey'] = [value1, value2 ....]
    

    【讨论】:

      【解决方案3】:

      在这种情况下,您不需要使用 array_push 有很多方法可以做到,例如:

      $years["whatever the key"]= array("whatever the value");
      

      结果会是这样的:

      $years = array(
      "2017" => array("Value01", "Value02"),
      "whatever the key" => array("whatever the value") );
      

      【讨论】:

      • Php 文档说:“注意:如果您使用 array_push() 向数组添加一个元素,最好使用 $array[] = 因为这样没有调用函数的开销。”
      猜你喜欢
      • 2011-05-15
      • 2011-05-14
      • 2018-10-21
      • 1970-01-01
      • 2020-10-08
      • 1970-01-01
      • 2020-07-02
      • 2015-08-07
      • 2023-03-18
      相关资源
      最近更新 更多