在数组中添加或删除元素

时间:2014-01-29 02:04:28

标签: php arrays

我正在尝试创建一个简单的系统来添加和删除数组元素。我已经做到了,但我想知道如何在特定位置添加或删除项目。例如:我想删除数组的第二个元素并将另一个元素添加到4º位置?

我只能这样做,但要添加数组的开始或结尾。

到目前为止,这是我的代码:

<form method="post" action="<?php $_SERVER['REQUEST_URI']; ?>">
<input type="text"   name="arr" /><br />
<input type="radio"  name="op" value="push" /> add to the end<br />
<input type="radio"  name="op" value="merge" /> add to start<br />
<input type="radio"  name="op" value="pop" /> remove from the end<br />
<input type="radio"  name="op" value="shift" /> remove from the start<br />
<input type="submit" value="Exec" />
</form>

<?php

if(!empty($_POST['op'])){
  $op = $_POST['op'];
  $marcas = $_SESSION['array'];

  if($op == "push"){
    array_push($marcas,$_POST['arr']);
  }elseif($op == "pop"){
    array_pop($marcas);
  }elseif($op == "merge"){
    $ar2 = array($_POST['arr']);

    $marcas = array_merge($ar2,$marcas);
  }else{
    array_shift($marcas);
  }
  $_SESSION['array'] = $marcas;
}
else{
  $_SESSION['array'] = array ("Fiat","Ford", "GM", "VW"); 
}
print_r($_SESSION['array']);
?>

1 个答案:

答案 0 :(得分:1)

您需要使用array_splice()来删除/添加/替换数组中任意位置的元素。

添加/删除示例:

// sample data
$a = [1, 2, 3, 4, 5];

// insert 1.5 after 1, before 2
array_splice($a, 1, 0, 1.5);

// $a is now [1, 1.5, 2, 3, 4, 5]

// remove 4
array_splice($a, 4, 1);

// $a is now [1, 1.5, 2, 3, 5]