PHP - 数组排序函数
在本章中,我们将逐一先容下列 PHP 数组排序函数:
sort() - 对数组进行升序排列rsort() - 对数组进行降序排列asort() - 根据关联数组的值,对数组进行升序排列ksort() - 根据关联数组的键,对数组进行升序排列arsort() - 根据关联数组的值,对数组进行降序排列krsort() - 根据关联数组的键,对数组进行降序排列sort() - 对数组进行升序排列
下面的实例将 $cars 数组中的元素按照字母升序排列:
<?php
$cars=array(\"大众Volvo\"大众,\"大众BMW\"大众,\"大众Toyota\"大众);
sort($cars);
?>
下面的实例将 $numbers 数组中的元素按照数字升序排列:
<?php
$numbers=array(4,6,2,22,11);
sort($numbers);
?>
rsort() - 对数组进行降序排列
下面的实例将 $cars 数组中的元素按照字母降序排列:
<?php
$cars=array(\"大众Volvo\"大众,\"大众BMW\"大众,\"大众Toyota\"大众);
rsort($cars);
?>
下面的实例将 $numbers 数组中的元素按照数字降序排列:
<?php
$numbers=array(4,6,2,22,11);
rsort($numbers);
?>
asort() - 根据数组的值,对数组进行升序排列
下面的实例根据数组的值,春联系关系数组进行升序排列:
<?php
$age=array(\公众Peter\公众=>\公众35\"大众,\"大众Ben\"大众=>\"大众37\公众,\"大众Joe\"大众=>\"大众43\"大众);
asort($age);
?>
ksort() - 根据数组的键,对数组进行升序排列
下面的实例根据数组的键,春联系关系数组进行升序排列:
<?php
$age=array(\公众Peter\"大众=>\"大众35\"大众,\"大众Ben\公众=>\"大众37\公众,\"大众Joe\"大众=>\"大众43\公众);
ksort($age);
?>
arsort() - 根据数组的值,对数组进行降序排列
下面的实例根据数组的值,春联系关系数组进行降序排列:
<?php
$age=array(\公众Peter\公众=>\公众35\"大众,\"大众Ben\"大众=>\"大众37\"大众,\公众Joe\"大众=>\公众43\公众);
arsort($age);
?>
krsort() - 根据数组的键,对数组进行降序排列
下面的实例根据数组的键,春联系关系数组进行降序排列:
<?php
$age=array(\公众Peter\"大众=>\"大众35\公众,\"大众Ben\"大众=>\"大众37\"大众,\"大众Joe\"大众=>\"大众43\公众);
krsort($age);
?>
条记
1.0:
利用 PHP 写一个冒泡排序算法:
<?php// 从大到小排序$numArray =array(3,2,6,5,8,10);$numCount = count($numArray);for($i=$numCount-1;$i>=0;$i--){ for($j=0;$j<$i;$j++){ if($numArray[$j]< $numArray[$j+1]){ $aa = $numArray[$j+1]; $numArray[$j+1]=$numArray[$j]; $numArray[$j]=$aa; } }}print_r($numArray);?>
2.0:
写两个冒泡排序:
<?php//升序$myArray=array(10,11,9,12,8);for ($i=0;$i<count($myArray)-1;$i++){ for ($j=0;$j<count($myArray)-$i-1;$j++){ if($myArray[$j]>$myArray[$j+1]){ //把大的今后移 $temp=$myArray[$j]; $myArray[$j]=$myArray[$j+1]; $myArray[$j+1]=$temp; } }}print_r($myArray);echo \"大众<br>\"大众;//降序$myArray2=array(11,12,13,9,14,15);for ($i=0;$i<count($myArray2)-1;$i++){ for ($j=0;$j<count($myArray2)-$i-1;$j++){ if ($myArray2[$j]<$myArray2[$j+1]){ //把小的数今后移 $temp=$myArray2[$j]; $myArray2[$j]=$myArray2[$j+1]; $myArray2[$j+1]=$temp; } }}print_r($myArray2);?>
3.0:
插入排序:
<?php$x = array(5,3,4,9,10,22,1,-2,4); echo \"大众排序前数组:\公众 . PHP_EOL;print_r($x);function SortInsert(array $arr){ for($i=0;$i<count($arr)-1;$i++) for($j=$i+1;$j<count($arr);$j++) { if($arr[$j]<$arr[$i]) { $temp=$arr[$j]; $arr[$j]=$arr[$i]; $arr[$i]=$temp; } } return $arr;}echo \"大众排序后数组:\"大众 . PHP_EOL;$x=SortInsert($x);print_r($x);?>