将一个数组推入另一个数组中的PHP array_push

3

我需要使用array_push或类似的函数将一个数组添加到另一个数组中。

我想要实现的效果应该是这样的:

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

什么是创建嵌套数组的最佳方法?我尝试了以下方法:
array_push($years, "2016" => array());

这只是提供了一个

500 错误。

并且:

array_push($years, "2016");

这会在$years中添加一个新的数组,但它被称为“2018”,而“2016”值则放置在该2018数组中。我已经手动创建了2017数组,因此我认为它只是以某种原因递增该数字。


3
您可以通过键名设置嵌套数组:$years[2016] = ['value 1', 'value 2', 'value 3']; - Lars Beck
2
不需要使用 array_push,只需编写 $years["2016"] = $array; - RAUSHAN KUMAR
1
阅读有关PHP数组的内容。你的问题的答案在"使用方括号语法访问数组元素"部分中。 - axiac
3个回答

4

array_push()的正确使用方法:

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

但是你想要什么,就要做到:-
$years["2016"]= array();

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


0
没有推送:
<?php 

$years = [];

$years[][] = 'value1';
$years[][] = 'value2';

var_dump($years);
?>

或者:

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

0
在这种情况下,您不需要使用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[] =,因为这样不会有调用函数的开销。” - NIDIA RAMIREZ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接