在数组PHP中添加新值

时间:2019-02-13 03:03:43

标签: php

例如这是我当前的数组

$names[] = [
   'John',
   'Bryan',
   'Sersi',
];

我想在某些情况下添加新值

if(somecondition){
   $names[] = [
      'Bobby',
      'Nail',
   ]
}

所以最终的数组将是这样

$names[] = [
   'John',
   'Bryan',
   'Sersi',
   'Bobby',
   'Nail',
];

4 个答案:

答案 0 :(得分:1)

您需要使用array_merge在数组中的同一级别添加新元素。请注意,在初始分配中,请勿在{{1​​}}之后使用[](否则,您将获得一个多维数组):

$names

如果您需要使用$names = [ 'John', 'Bryan', 'Sersi', ]; if(somecondition){ $names = array_merge($names, [ 'Bobby', 'Nail', ]); } 添加名称,则可以一次添加一个名称:

[]

答案 1 :(得分:0)

尝试使用array_push()功能

$names = [
   'John',
   'Bryan',
   'Sersi',
];
if(somecondition){
   array_push($names, 'Bobby', 'Nail');
}

然后再次致电$names

答案 2 :(得分:0)

可以使用[]或使用array_push将新值添加到数组中。 使用array_push:

$names = [
   'John',
   'Bryan',
   'Sersi',
];
if(somecondition){
   array_push($names, 'Bobby', 'Nail');
}

使用[],您可以一次添加一个:

$names = [
   'John',
   'Bryan',
   'Sersi',
    ];
if(somecondition){
   $names[] = 'Bobby';
   $names[] = 'Nail';
}

array_push()和$ array []方法之间的一个小比较,$ array []似乎要快得多。

<?php
$array = array();
for ($x = 1; $x <= 100000; $x++)
{
    $array[] = $x;
}
?>
//takes 0.0622200965881 seconds

<?php
$array = array();
for ($x = 1; $x <= 100000; $x++)
{
    array_push($array, $x);
}
?>
//takes 1.63195490837 seconds

因此,如果您不使用array_push()的返回值,最好使用$ array []方法。

答案 3 :(得分:0)

嗨,您应该使用array_push emaple:

    $names = [
       'John',
       'Bryan',
       'Sersi',
    ];

    if(somecondition){
       array_push($names, 'Bobby', 'Nail');
    }

var_dump($names);