zoukankan      html  css  js  c++  java
  • 删除数组元素

    删除数组元素

    unset

    unset删除数组元素,不会重建索引

    //demo1
    $arr = [1, 2, 3];
    array_push($arr, 4);
    unset($arr[count($arr) - 1]);
    array_push($arr, 5);
    print_r($arr); //Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 5 )
    
    //demo2
    $arr = [1, 2, 3];
    unset($arr[1]);
    print_r($arr); //Array ( [0] => 1 [2] => 3 )
    

    array_splice

    删除一部分元素,并且可以用指定元素替代,会重建索引(关联数组无效),详情参看文档

    $arr = [1, 2, 3];
    array_splice($arr, 1, 1);
    print_r($arr); //Array ( [0] => 1 [1] => 3 )
    

    array_pop

    删除最后一个元素(出栈),会重建索引

    $arr = [1, 2, 3];
    array_pop($arr);
    array_push($arr, 4);
    print_r($arr); //Array ( [0] => 1 [1] => 2 [2] => 4 )
    

    array_shift

    删除第一个元素,会重建索引

    $arr = [1, 2, 3, 4];
    array_shift($arr);
    print_r($arr); //Array ( [0] => 2 [1] => 3 [2] => 4 )
    

    array_diff

    删除指定的一些元素,实际上求数组的差集,可以理解为第一个数组减去后面数组得到的数组

    $arr = ['a', 'b', 'c', 'b', 'd'];
    $new_arr = array_diff($arr, ['b', 'c']);
    print_r($new_arr); //Array ( [0] => a [4] => d )
    

    array_diff_key

    根据key删除一些元素,实际上根据key求数组差集,和array_diff类似

    $arr = [
      'a' => 1,
      'b' => 2,
      'c' => 3,
      'd' => 4
    ];
    $arr1 = [
      'b' => 23,
      'd' => 33
    ];
    
    $new_arr = array_diff_key($arr, $arr1);
    print_r($new_arr); //Array ( [a] => 1 [c] => 3 )
    
  • 相关阅读:
    data-icon=""图片还可以是自定义的?
    orientationchange不管用啊
    menu({postion:{my:"left top"},at:"right bottom"})里的my与at会冲突吗
    关于position的疑惑
    Linux
    C++
    MATLAB
    SCE
    SFLA混合蛙跳算法
    memetic algorithm
  • 原文地址:https://www.cnblogs.com/whyly/p/13461169.html
Copyright © 2011-2022 走看看