2个回答
展开全部
在php数组排序中我们通常会用到下列几个函数。
sort() ------ 以升序对数组排序,是以元素值来排序的
rsort() ----- 以降序对数组排序,以元素值来排序。
asort() ----- 根据值,以升序对关联数组进行排序
ksort() ----- 根据键,以升序对关联数组进行排序
arsort() ---- 根据值,以降序对关联数组进行排序
krsort() ---- 根据键,以降序对关联数组进行排序
array_multisort()----对多个数组或多维数组进行排序
用sort函数来做下示例吧
<?php
$string=array("Yes","True","False");
sort($string);
print_r($string);
?>
运行结果为:Array ( [0] => False [1] => True [2] => Yes )
再来看一个array_multisort的例子了,
<?php
$att[] = array('name' => 'cat', 'number' => 2);
$att[] = array('name' => 'dog', 'number' => 1);
$att[] = array('name' => 'dgg', 'number' => 6);
$att[] = array('name' => 'monkey', 'number' => 2);
$att[] = array('name' => 'bear', 'number' => 6);
$att[] = array('name' => 'bee', 'number' => 7);
array_multisort($att,SORT_DESC,SORT_REGULAR);
print_r($att);
?>
输出结果为:
Array (
[0] => Array ( [name] => monkey [number] => 2 )
[1] => Array ( [name] => dog [number] => 1 )
[2] => Array ( [name] => dgg [number] => 6 )
[3] => Array ( [name] => cat [number] => 2 )
[4] => Array ( [name] => bee [number] => 7 )
[5] => Array ( [name] => bear [number] => 6 )
)
不用数组的来个例子了。
<?php
$att[] = array('name' => 'cat', 'number' => 2);
$att[] = array('name' => 'dog', 'number' => 1);
$att[] = array('name' => 'dgg', 'number' => 6);
$att[] = array('name' => 'monkey', 'number' => 2);
$att[] = array('name' => 'bear', 'number' => 6);
$att[] = array('name' => 'bee', 'number' => 7);
for($i=0;$i<count($att);$i++){
foreach($att as $key=>$val){
if($att[$i]['number']>$val['number']){
$att[$key]=$att[$i];
$att[$i]=$val;
}
}
}
print_r($att);
?>
结果:
Array (
[0] => Array ( [name] => bee [number] => 7 )
[1] => Array ( [name] => bear [number] => 6 )
[2] => Array ( [name] => dgg [number] => 6 )
[3] => Array ( [name] => cat [number] => 2 )
[4] => Array ( [name] => monkey [number] => 2 )
[5] => Array ( [name] => dog [number] => 1 )
)
当然还有更多的方法,如插入排序,选择排序,冒泡排序,快速排序等。这些网站有很多的,如这个网站上就有:http://www.weberlove.com/PHPjishu/phpjichu/2015/0429/289.html至于数组和字符串的话,主要有str_split()、explode(),preg_split()三个函数。当然还有别的方法,上面那个网我站有说到,你可以自己去找一找了。
sort() ------ 以升序对数组排序,是以元素值来排序的
rsort() ----- 以降序对数组排序,以元素值来排序。
asort() ----- 根据值,以升序对关联数组进行排序
ksort() ----- 根据键,以升序对关联数组进行排序
arsort() ---- 根据值,以降序对关联数组进行排序
krsort() ---- 根据键,以降序对关联数组进行排序
array_multisort()----对多个数组或多维数组进行排序
用sort函数来做下示例吧
<?php
$string=array("Yes","True","False");
sort($string);
print_r($string);
?>
运行结果为:Array ( [0] => False [1] => True [2] => Yes )
再来看一个array_multisort的例子了,
<?php
$att[] = array('name' => 'cat', 'number' => 2);
$att[] = array('name' => 'dog', 'number' => 1);
$att[] = array('name' => 'dgg', 'number' => 6);
$att[] = array('name' => 'monkey', 'number' => 2);
$att[] = array('name' => 'bear', 'number' => 6);
$att[] = array('name' => 'bee', 'number' => 7);
array_multisort($att,SORT_DESC,SORT_REGULAR);
print_r($att);
?>
输出结果为:
Array (
[0] => Array ( [name] => monkey [number] => 2 )
[1] => Array ( [name] => dog [number] => 1 )
[2] => Array ( [name] => dgg [number] => 6 )
[3] => Array ( [name] => cat [number] => 2 )
[4] => Array ( [name] => bee [number] => 7 )
[5] => Array ( [name] => bear [number] => 6 )
)
不用数组的来个例子了。
<?php
$att[] = array('name' => 'cat', 'number' => 2);
$att[] = array('name' => 'dog', 'number' => 1);
$att[] = array('name' => 'dgg', 'number' => 6);
$att[] = array('name' => 'monkey', 'number' => 2);
$att[] = array('name' => 'bear', 'number' => 6);
$att[] = array('name' => 'bee', 'number' => 7);
for($i=0;$i<count($att);$i++){
foreach($att as $key=>$val){
if($att[$i]['number']>$val['number']){
$att[$key]=$att[$i];
$att[$i]=$val;
}
}
}
print_r($att);
?>
结果:
Array (
[0] => Array ( [name] => bee [number] => 7 )
[1] => Array ( [name] => bear [number] => 6 )
[2] => Array ( [name] => dgg [number] => 6 )
[3] => Array ( [name] => cat [number] => 2 )
[4] => Array ( [name] => monkey [number] => 2 )
[5] => Array ( [name] => dog [number] => 1 )
)
当然还有更多的方法,如插入排序,选择排序,冒泡排序,快速排序等。这些网站有很多的,如这个网站上就有:http://www.weberlove.com/PHPjishu/phpjichu/2015/0429/289.html至于数组和字符串的话,主要有str_split()、explode(),preg_split()三个函数。当然还有别的方法,上面那个网我站有说到,你可以自己去找一找了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询