【php基础】php数组常用操作函数
2014-03-13 09:16
731 查看
1·数组排序
键排序
krsort()和ksort()
krsort()排序是对数组按照键名降序排序
ksort()排序是对数组按照键名升序排序
键值排序
arsort()和asort()
arsort()排序是数组进行降序排序,并保持键值关系
asort()排序是数组升序排序,一样保持键值关系
二维数组,以某一维为依据进行排序:
2·提取部分数组
array_slice($arr,$start,$length)
从$arr中提取出来一部分,从$start开始到$length
3·将字符串拆分成数组;将数组拼接成字符串
explode($separator,$string)
拆分字符串;一句$seperator来拆分$string
implode()或者join()
合并数组为字符串
4·其他一些常用的函数
list($first,$second) = array('nihao','nuli')
这里将数组中的元素依次赋给list的参数;
上句代码是将 'nihao'赋给$first 'nuli'赋给 $second
【示例:
list($width, $height) = getimagesize($filename);
将获取到的图像信息赋值给独立的变量
】
in_array($neddle,$arr)
判断$neddle是否在$arr中存在
array_key_exists($key,$arr)
判断$arr中是否存在键值$key
array_merge($arr1,$arr2....)
将多个数组合并为一个数组;如果数组含有相同的字符串键名,则后面的会覆盖前面的值,如果是数字键名,则不会覆盖
array_unique($arr)
取出$arr中重复的值;返回一个不包含重复值的数组
array_walk($arr,callback functionname)
对数组中的所有元素应用指定的函数
快速排序
归并排序
选择排序
$arr --- 要排序的数组
键排序
krsort()和ksort()
krsort()排序是对数组按照键名降序排序
ksort()排序是对数组按照键名升序排序
键值排序
arsort()和asort()
arsort()排序是数组进行降序排序,并保持键值关系
asort()排序是数组升序排序,一样保持键值关系
二维数组,以某一维为依据进行排序:
2·提取部分数组
array_slice($arr,$start,$length)
从$arr中提取出来一部分,从$start开始到$length
3·将字符串拆分成数组;将数组拼接成字符串
explode($separator,$string)
拆分字符串;一句$seperator来拆分$string
implode()或者join()
合并数组为字符串
4·其他一些常用的函数
list($first,$second) = array('nihao','nuli')
这里将数组中的元素依次赋给list的参数;
上句代码是将 'nihao'赋给$first 'nuli'赋给 $second
【示例:
list($width, $height) = getimagesize($filename);
将获取到的图像信息赋值给独立的变量
】
in_array($neddle,$arr)
判断$neddle是否在$arr中存在
array_key_exists($key,$arr)
判断$arr中是否存在键值$key
array_merge($arr1,$arr2....)
将多个数组合并为一个数组;如果数组含有相同的字符串键名,则后面的会覆盖前面的值,如果是数字键名,则不会覆盖
array_unique($arr)
取出$arr中重复的值;返回一个不包含重复值的数组
array_walk($arr,callback functionname)
对数组中的所有元素应用指定的函数
快速排序
$arr --- 要排序的数组 $left --- 数组的左边界 $right --- 数组的右边界 function quikSort(&$arr,$left,$right){ if($left < $right){ $i=$left-1; $x=$arr[$right]; for($j=$left;$j<$right;$j++){ if($arr[$j] <= $x){ $i++; $temp=$arr[$i]; $arr[$i]=$arr[$j]; $arr[$j]=$temp; } } $i++; $temp=$arr[$i]; $arr[$i]=$arr[$right]; $arr[$right]=$temp; quikSort($arr,$left,$i-1); quikSort($arr,$i+1,$right); } }
归并排序
$arr --- 要排序的数组 $left --- 数组的左边界 $right --- 数组的右边界 function mergeSort(&$arr,$left,$right){ $temp=$left+(int)floor((double)($right-$left)/2); if($temp!=$left){ mergeSort($left,$temp); } if($temp+1!=$right){ mergeSort($temp+1,$right); } $p=$temp; $q=$right; while($p>=$left || $q>$temp){ if($leftrr[$p]>$leftrr[$q] && $p>=$left && $q>$temp){ $leftrr_temp[$sign++]=$leftrr[$p--]; }else if($p>=$left && $q>$temp){ $leftrr_temp[$sign++]=$leftrr[$q--]; }else if($p<$left && $q>$temp){ $leftrr_temp[$sign++]=$leftrr[$q--]; }else if($p>=$left && $q<=$temp){ $leftrr_temp[$sign++]=$leftrr[$p--]; } } for($temp=$left;$temp<=$right;$temp++){ $leftrr[$temp]=$leftrr_temp[$sign-1]; $sign--; } }
选择排序
$arr --- 要排序的数组
function chooseSort(&$arr){ $length = count($arr); for($now = $length-1;$now > 0 ;$now--){ $temp = $now; for($point=0;$point<$now;$point++){ if($arr[$point] > $arr[$temp]){ $temp = $point; } } if($temp != $now){ $swap = $arr[$now]; $arr[$now] = $arr[$temp]; $arr[$temp] = $swap; } } }
相关文章推荐
- PHP中对数组进行操作的常用函数总结
- 基于php常用函数总结(数组,字符串,时间,文件操作)
- 基于php常用函数总结(数组,字符串,时间,文件操作)
- PHP 数组操作常用函数
- 【php基础】PHP常用字符串操作函数
- PHP:常用PHP数组操作函数
- 基于php常用函数总结(数组,字符串,时间,文件操作)
- PHP数组操作常用函数
- PHP常用的数组操作函数
- php 常用函数总结(数组,字符串,时间,文件操作)
- php 常用数组操作函数
- PHP中对数组的一些常用的增、删、插操作函数总结
- PHP 操作数组的常用函数
- PHP中对数组的一些常用的增、删、插操作函数总结
- PHP基础知识总结02(常用的数组函数)
- php字符串基础操作常用函数
- PHP数组常用操作与常用排序函数
- PHP常用的数组操作函数大全
- PHP 数组常用函数总结
- 常用PHP数组排序函数归纳