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 )
    
  • 相关阅读:
    Win7怎么进入安全模式 三种轻松进入Win7安全模式方法
    Eclipse中新建applet 错误
    经典语录
    轻松一刻
    WIN XP蓝屏代码大全
    大话设计模式简单总结
    生命是闹着玩儿,事事显出如此 (转)
    Educational Codeforces Round 42 (Rated for Div. 2) A
    2018年东北农业大学春季校赛----不完整题解
    POJ
  • 原文地址:https://www.cnblogs.com/whyly/p/13461169.html
Copyright © 2011-2022 走看看