PHP - 数组排序函数

在本章中,我们将逐一先容下列 PHP 数组排序函数:

sort() - 对数组进行升序排列rsort() - 对数组进行降序排列asort() - 根据关联数组的值,对数组进行升序排列ksort() - 根据关联数组的键,对数组进行升序排列arsort() - 根据关联数组的值,对数组进行降序排列krsort() - 根据关联数组的键,对数组进行降序排列

sort() - 对数组进行升序排列

php数组冒泡升序PHP法式员从入门到佛系第十四弹PHP 数组排序 Bootstrap

下面的实例将 $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);?>