• php js => splice 数组 插入 功能


    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

               

  • 相关阅读:
    PAT甲级1091Acute Stroke
    PAT甲级1076Forwards on Weibo
    PAT甲级1131Subway Map
    PAT甲级1130Infix Expression
    PAT甲级1103Integer Factorization
    PAT甲级1034Head of a Gang
    Blender删除历史材质球未用材质球
    王者荣耀 花木兰 水晶猎龙者 同人3D壁纸 木兰小哥哥也有拧不开瓶盖的时候,嘿嘿嘿 家居服 减布料
    王者荣耀 嫦娥 同人 3D渲染 壁纸 家居服 减布料
    联考6
  • 原文地址:https://www.cnblogs.com/jxkshu/p/6117775.html
Copyright © 2020-2023  润新知