闲话少说
1、java删除数组中元素
// 封装一个公共的类 class Fengzhuang { // 存储删除的下标 int delindex = 0; // 去重数组的变量 int t = 0; // a数组和delnum需要删除的元素 public void split(int[] a, int delnum) { //找到元素下标 for (int i = 0; i < a.length; i++) { if(a[i] == delnum) { delindex = i; break; } } // 元素前移 for (int i = delindex; i < a.length-1; i++) { a[i] = a[i+1]; } // 去重 int[] xinArr= new int[a.length-1]; for (int i = 0; i < a.length; i++) { // 声明标记是否重复 boolean isRepeat = true; for (int j = i+1; j < a.length; j++) { if (a[i] == a[j]) { isRepeat = false; break; } } if (isRepeat) { xinArr[t] = a[i]; //System.out.print(a[i]); t++; } } return xinArr; } }2、php相对于java封装了一些操作数组的方法,sophp中数组删除
unset、array_splice、array_diff、array_diff_key
和去重array_unique、array_flip
// 删除 // 删除数组中元素的2个方法,unset()和appay_splice() // 注意如果你使用 unset() 方法,它是不会改变其他的键(key),如果你想对其他的键(key)重新整理排序,可以使用 array_values()。 $array = ['a','b','c'];unset($array[1]); $array = ['v'=>'a','b','c'];array_splice($array,1,1); print_r(array_values($array)) // 知道value值删除(2个数组根据value取差集) $array = array(0 => "a", 1 => "b", 2 => "c",3=>'c'); $array = array_diff_key($array, ["a", "c"]); //└────────┘→你要删除的元素 print_r($array );//存在重复元素,值删除第1个 // 知道key值删除(2个数组根据key取差集) $array = array(0 => "a", 1 => "b", 2 => "c"); $array = array_diff_key($array, [0 => "xy", 2 => "xy"]); //↑ ↑ 你要删除的数组键 print_r($array); // 数组去重array_unique、array_flip $arr = array(1,1,2,3,3,3,4,4,5,6,6,7,8,8,9,9,9); $arr = array_unique($arr); $arr = array_values($arr); print_r($arr); // 数组互换去重 // 使用键值互换去重 $arr = array_flip($arr); $arr = array_flip($arr);