php array_splice 手册详解
array_splice — 把数组中的一部分去掉并用其它值取代
参数
input
输入的数组。
offset
如果 offset 为正,则从 input 数组中该值指定的偏移量开始移除。如果 offset 为负,则从 input 末尾倒数该值指定的偏移量开始移除。
length
如果省略 length ,则移除数组中从 offset 到结尾的所有部分。如果指定了 length 并且为正值,则移除这么多单元。如果指定了 length 并且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的单元。小窍门:当给出了 replacement 时要移除从 offset 到数组末尾所有单元时,用 count($input) 作为 length 。
replacement
如果给出了 replacement 数组,则被移除的单元被此数组中的单元替代。
如果 offset 和 length 的组合结果是不会移除任何值,则 replacement 数组中的单元将被插入到 offset 指定的位置。 注意替换数组中的键名不保留。
如果用来替换 replacement 只有一个单元,那么不需要给它加上 array(),除非该单元本身就是一个数组、一个对象或者 NULL 。
EG:
$arr = array( "red" , "green" , "blue" , "yellow" ); //将单元向数组第二位插入 $white array_splice($arr, 2, 0, $white ); 结果: $white = ' white ' array( "red" , "green" , "white", "blue" , "yellow" ); $white = array() array( "red" , "green" , array() , "blue" , "yellow" );
如果是 将一个已经存在 排好序的数组 将其中一个单元移动位置 可以如下
$arr = [ 1, 2, 3, 4, 5, 6, 7 ]; //现在将 4 移动到 1 的位置 $tmp = $arr[3]; //从第4个开始 删除一个单元 array_splice($arr, 4, 1 ); //向数组中的第一位存入一个单元 array_splice($arr, 1, 0, $tmp)
js splice()算是最强大的了,它可以用于插入、删除或替换数组的元素。
1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数)
2.插入-向数组指定位置插入任意项元素。三个参数,第一个参数(其实位置),第二个参数(0),第三个参数(插入的项)
3.替换-向数组指定位置插入任意项元素,同时删除任意数量的项,三个参数。第一个参数(起始位置),第二个参数(删除的项数),第三个参数(插入任意数量的项)
var lang = ["php","java","javascript"]; //删除 var removed = lang.splice(1,1); alert(lang); //php,javascript alert(removed); //java ,返回删除的项 //插入 var insert = lang.splice(0,0,"asp"); //从第0个位置开始插入 alert(insert); //返回空数组 alert(lang); //asp,php,javascript //替换 var replace = lang.splice(1,1,"c#","ruby"); //删除一项,插入两项 alert(lang); //asp,c#,ruby alert(replace); //php,返回删除的项
资料参考 : http://www.jb51.net/article/33306.htm