欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

PHP array_splice() 函数

shiping1 的头像
如何在数组指定位置中插入一个值 最好用  array_splice  函数 
用下面 两行的代码好像也可以 
array_merge(array('key' => 'value'), $oldArray);
如果不行 就用 + 来代替 array_merge 

从数组中移除元素,并用新元素取代它:
<?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);
?>

运行实例

定义和用法

array_splice() 函数从数组中移除选定的元素,并用新元素取代它。该函数也将返回包含被移除元素的数组。

提示:如果函数没有移除任何元素(length=0),则将从 start 参数的位置插入被替换数组(参见例子 2)。

注释:不保留被替换数组中的键名。

说明

array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。

如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代。

最后生成的数组将会返回。

语法

array_splice(&array,start,length,array)
参数描述
array必需。规定数组。
start

必需。数值。规定删除元素的开始位置。

  • 0 = 第一个元素。
  • 如果该值设置为正数,则从数组中该值指定的偏移量开始移除。
  • 如果该值设置为负数,则从数组末端倒数该值指定的偏移量开始移除。
  • -2 意味着从数组的倒数第二个元素开始。
length

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

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

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

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

技术细节

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

更多实例

例子 1

与本页前面部分的实例相同,但是输出返回的数组:
注释:不保留替代数组中的键。换句话说 print_r($a1)的值为 Array ( [0] => purple [1] => orange [c] => blue [d] => yellow ) 即 purple 的键为0 orange的键为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));
print_r($a1);
?>

运行实例

例子 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);
?>

运行实例


来自 http://www.w3school.com.cn/php/func_array_splice.asp


定义和用法

array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。

如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代。

最后生成的数组将会返回。

语法

array_splice(array,offset,length,array)
参数描述
array必需。规定数组。
offset必需。数值。如果 offset 为正,则从输入数组中该值指定的偏移量开始移除。如果 offset 为负,则从输入数组末尾倒数该值指定的偏移量开始移除。
length可选。数值。如果省略该参数,则移除数组中从 offset 到 结尾的所有部分。如果指定了 length 并且为正值,则移除这么多元素。如果指定了 length 且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的元素。
array被移除的元素由此数组中的元素替代。如果没有移除任何值,则此数组中的元素将插入到指定位置。

提示和注释

提示:如果函数没有删除任何元素 (length=0),则替代数组将从 start 参数的位置插入。(参见例子 3)

注释:不保留替代数组中的键。

例子 1

<?php
$a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,0,2,$a2);
print_r($a1);
?>

输出:

Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird )

例子 2

与例子 1 相同,但是输出返回的数组:

<?php
$a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
$a2=array(0=>"Tiger",1=>"Lion");
print_r(array_splice($a1,0,2,$a2));
?>

输出:

Array ( [0] => Dog [1] => Cat )

例子 3

length 参数设置为 0:

<?php
$a1=array(0=>"Dog",1=>"Cat");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,1,0,$a2);
print_r($a1);
?>

输出:

Array ( [0] => Dog [1] => Tiger [2] => Lion [3] => Cat )

来自 http://www.cnblogs.com/zemliu/archive/2012/08/16/2643066.html

普通分类: