排序函数
sort():顺序排序(下标重排,下标和值的关系改变)
rsort():逆序排序 (同上)
asort():顺序排序(下标保留,下标和值的对应关系不变)
arsort():逆序排序 (同上)
ksort():顺序排序:按照键名进行对值进行排序。
krsort():逆序排序:按照键名进行对值进行排序。
shuffle():随机打乱数组元素,数组下标会重排
指数函数
reset():重置指针,将数组指针指向首位
end():重置指针,将数组指针指向最后一个元素
next():指针下移,取得下一个元素的值
prev():指针上移,取得上一个元素的值
current():获取当前指针对应的元素值
key():获取当前指针对应的下标值
注意事项:next和prev会移动指针,有可能导致指针移动到最前或者最后(离开数组),导致数组不能使用,通过next和prev不能回到正确的指针位置。只能通过end或者reset进行指针重置
<?php
/*
* reset()重置指针
* end()重置指针,将数组指针指向最后一个
*
*/
$arr=array(3,1,2,5,9,6);
echo reset($arr);//3
echo end($arr);//6
/*
* next():指针下移,取得下一个元素的值
* prev():指针上移,取得上一个元素的值
*/
echo prev($arr);//9
echo next($arr);//6
/*
*current():获取当前指针对应的元素值
*/
echo current($arr);//6
/*
* key():获取当前指针对应的下标值
*/
echo key($arr);//5
?>
其他函数
<?php
/*
* count()统计数组中元素的数量。
* array_push()往数组中加入一个元素(在数组最后添加)
* array_pop()从数组中调出一个元素并返回(从数组最后开始)
* array_shift()从数组中调出一个元素并返回(从数组开头)
* array_unshift从数组中加入一个元素(数组开头)
*/
/*PHP模拟数据结构(利用上面四个函数)
栈先进后出 用的是
先进:array_push() 后出:array_pop()
*/
$arr=[];
//先进
array_push($arr,2);
array_push($arr,1);
array_push($arr,9);
print_r($arr);
echo "<br/>";
//后出
echo array_pop($arr),array_pop($arr),array_pop($arr);
echo "<hr/>";
/*队列:排队,先进去的先出去(FIFO)
1.array_push array_shift
2.array_unshift array_poop
*/
$arr2=[];
//第一种方案
array_push($arr2,6);
array_push($arr2,4);
array_push($arr2,1);
print_r($arr2);
echo array_shift($arr2),array_shift($arr2),array_shift($arr2);
echo "<hr/>";
//第二种方案
$arr3=[];
array_unshift($arr3,2);
array_unshift($arr3,3);
array_unshift($arr3,7);
print_r($arr3);
echo array_pop($arr3);
echo array_pop($arr3);
echo array_pop($arr3);
?>
array_reverse():返回单元顺序相反的数组
<?php
/*
* array_reverse()返回顺序相反的数组
*/
$arr=[1,2,3,4,5];
print_r(array_reverse($arr));
?>
结果:
Array
(
[0] => 5
[1] => 4
[2] => 3
[3] => 2
[4] => 1
)
in_array():判断一个元素在数组中是否存在
<?php
/*
* array_reverse()返回顺序相反的数组
*/
$arr=[1,2,3,4,5];
var_dump(in_array(1,$arr));
?>
结果:bool(true)
array_keys():获取一个数组的所有下标,返回一个索引数组
array_values():获取一个数组的所有值,返回一个索引数组
<?php
/*
* array_reverse()返回顺序相反的数组
*/
$arr=[1,2,3,4,5];
print_r(array_keys($arr));
echo "<br/>";
print_r(array_values($arr));
?>