PHP多维数组推送不起作用

时间:2017-04-20 20:04:42

标签: php arrays multidimensional-array

我有一个多维数组,我想将另一个数组推送到我的多维数组。我使用过PHP array_push()函数,但它不起作用。那么如何在我的多维数组中添加另一个数组呢?有人可以帮忙吗?

这是我的代码:

$array1 = ['id', 'name', 'age'];
$array2 = [
    [1, 'name1', 10],
    [2, 'name2', 20],
    [3, 'name3', 30]
];

注意:我希望顶部有$ array1值。

3 个答案:

答案 0 :(得分:5)

array_push()在数组末尾添加一个新元素。如果您想在前面添加新元素,请使用array_unshift()

$array1 = ['id', 'name', 'age'];
$array2 = [
    [1, 'name1', 10],
    [2, 'name2', 20],
    [3, 'name3', 30]
];
array_unshift($array2, $array1);

$ array2现在看起来像这样:

[
    ['id', 'name', 'age'],
    [1, 'name1', 10],
    [2, 'name2', 20],
    [3, 'name3', 30]
];

答案 1 :(得分:4)

对于这个问题PHP array_push();功能不起作用。你必须使用array_merge()来解决这个问题,还需要创建另一个数组来保存这些数据。

我希望这段代码可以解决您的问题

<p:tree selectionMode="single">
  <p:treeNode expandedIcon="fa fa-folder-open" collapsedIcon="fa fa-folder">
    <h:outputText value="Home" />
  </p:treeNode>
  <p:treeNode type="document" icon="fa fa-file-text-o fileColor">
    <h:outputText value="Staff" />
  </p:treeNode>
</p:tree>

答案 2 :(得分:-2)

您可以使用array_unshift或更简单的$array2 = $array1 + $array2