一、数组排序
1、递增排序
sort(array);
2、递减排序
rsort(array);
//递增排序和递减排序都将对原来的键值重新分配
3、对多个或多维数组排序
array_multisort(arr1,arr2,flags,arg);
arr1和arr2为要排序的数组(一维,也可以是二维数组中的某一维进行排序),flags和arg可以不写,flags表示行为:SORT_REGULAR(正常比较单元(默认)),SORT_NUMERIC(单元被作为数子来比较),SORT_STRING(单元被作为字符串来比较)
4、数组合并
array_merge(arr1,arr2…);
将后面的数组合并到一个新数组中并返回。此函数不能用于键名相同的数组,如果有键名相同的数组,可以用array_merge_recursive(arr1,arr2…);此函数可以将键名相同的元素合并到一个数组中。
5、数组拆分
array_slice(array,start,length);//取数组的子集
array为数组,start为起始位置,length为要截取的长度,不影响原数组。
array_spice(array,start,length);//拆分元素组
与array_slice应用完全相同,只是array_spice会删除拆分出来的元素。
6、随机排序
shuffle(array);//将数组随机打乱,得到内容相同顺序不同的新数组,键值无论是默认的还是自己设计的都会被重新回到默认状态。
实例
$arr1 = array(5=>1,7=>10,2=>6,4=>"cds",8=>"tcwde",9=>"dhuhw");
shuffle($arr1);
var_dump($arr1);
结果
二、线性表出、入栈
1、入栈
array_push($stack,"var1","var2");
stack为为压入的数组,var为压入的元素
入栈都是往数组最后追加,可以通过array_unshift($stack,"var1","var2");
往数组最开始追加
2、出栈
array_pop($stack);
返回数组最后一个元素,即删除这个元素,同样也可以从数组最开始弹出array_shift($stack);