在数组PHP中添加新值

问题描述 投票:1回答:4

例如,这是我当前的数组

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

我想在某些条件下添加新值

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

所以最终的数组就是这样的

$names[] = [
   'John',
   'Bryan',
   'Sersi',
   'Bobby',
   'Nail',
];
php
4个回答
1
投票

您需要使用array_merge在数组中的同一级别添加新元素。请注意,在初始赋值时,不应在[]之后使用$names(否则您将得到一个多维数组):

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

如果您需要使用[]添加名称,您可以一次添加一个:

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

0
投票

尝试使用array_push()功能

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

然后再次打电话给$names


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 []方式。


0
投票

您好,你应该使用array_push示例:

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

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

var_dump($names);
© www.soinside.com 2019 - 2024. All rights reserved.