PHP array_splice() funktionen

Exempel

Ta bort element från arrayen och ersätt dem med nya element:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
array_splice($a1,0,2,$a2);
print_r($a1);
?>

运行实例

Definition och användning

array_splice() funktionsen tar bort valda element från arrayen och ersätter dem med nya element. Funktionen returnerar också en array som innehåller de borttagna elementen.

Tips:Om funktionen inte har tagit bort några element (length=0), kommer start Parametrarnas plats infogas i den ersättande arrayen (se exempel 2).

Kommentar:Förbehåller inte nyckelnamn i den ersättande arrayen.

Förklaring

array_splice() funktionsen är liknande array_slice() Funktionen liknar, väljer en rad element från arrayen, men returnerar inte, utan tar bort dem och ersätter dem med andra värden.

Om den fjärde parametern tillhandahålls, kommer de tidigare valda elementen att ersättas av arrayen specificerad av den fjärde parametern.

Den sista genererade arrayen kommer att returneras.

Syntaks

array_splice(array,start,length,array)
Parameter Beskrivning
array Obligatorisk. Bestämmer arrayen.
start

Obligatorisk. Numerisk. Bestämmer startpositionen för att ta bort element.

  • 0 = det första elementet.
  • Om värdet sätts till ett positivt tal, tas element bort från arrayen från avståndet specificerat av värdet.
  • Om värdet sätts till ett negativt tal, tas element bort från slutet av arrayen med avståndet specificerat av värdet.
  • -2 意味着从数组的倒数第二个元素开始。
length

可选。数值。规定被移除的元素个数,也是被返回数组的长度。

  • 如果该值设置为正数,则移除该数量的元素。
  • 如果该值设置为负数,则移除从 start 到数组末端倒数 length 为止中间所有的元素。
  • 如果该值未设置,则移除从 start 参数设置的位置开始直到数组末端的所有元素。
array

可选。规定带有要插入原始数组中元素的数组。

如果只有一个元素,则可以设置为字符串,不需要设置为数组。

技术细节

返回值: 返回由被提取元素组成的数组。
PHP 版本: 4+

更多实例

例子 1

与本页前面部分的实例相同,但是输出返回的数组:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
print_r(array_splice($a1,0,2,$a2));
?>

运行实例

例子 2

把 length 参数设置为 0:

<?php
$a1=array("0"=>"red","1"=>"green");
$a2=array("0"=>"purple","1"=>"orange");
array_splice($a1,1,0,$a2);
print_r($a1);
?>

运行实例