解读PHP数组排序
php,函数,库,排序2016-07-12
PHP拥有一套强大的函数库,下面我们看看每个数组排序函数的具体用法,下面的截图来源于PHP7.0手册。
bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
两个参数,除了数组,第二个可选参数sort_flags通过可选类型标记改变排序行为。 <?php
$auto = array("bens2","honda3","BMW4","aens1","BMW5");
sort($auto,SORT_STRING|SORT_FLAG_CASE);//不区分大小写排序字符串
foreach($auto as $key=>$val)
{
echo "auto[".$key."]=".$val."\n";
//输出auto[0]=BMW4 auto[1]=BMW5 auto[2]=aens1 auto[3]=bens2 auto[4]=honda3
}
<?php
$auto = array("bens2","honda3","BMW4","aens1","BMW5");
rsort($auto,SORT_STRING|SORT_FLAG_CASE);//不区分大小写排序字符串
foreach($auto as $key=>$val)
{
echo "auto[".$key."]=".$val."\n";
//输出auto[0]=honda3 auto[1]=BMW5 auto[2]=BMW4 auto[3]=bens2 auto[4]=aens1
}
<?php
$auto = array("a"=>"bens2","b"=>"honda3","c"=>"BMW4","d"=>"aens1","e"=>"BMW5");
asort($auto,SORT_STRING|SORT_FLAG_CASE);//不区分大小写排序字符串
foreach($auto as $key=>$val)
{
echo "auto[".$key."]=".$val."\n";
//输出auto[d]=aens1 auto[a]=bens2 auto[c]=BMW4 auto[e]=BMW5 auto[b]=honda3
}
<?php
$auto = array("a"=>"bens2","b"=>"honda3","c"=>"BMW4","d"=>"aens1","e"=>"BMW5");
arsort($auto,SORT_STRING|SORT_FLAG_CASE);//不区分大小写排序字符串
foreach($auto as $key=>$val)
{
echo "auto[".$key."]=".$val."\n";
//输出auto[b]=honda3 auto[e]=BMW5 auto[c]=BMW4 auto[a]=bens2 auto[d]=aens1
}
<?php
$auto = array("b"=>"bens2","a"=>"honda3","d"=>"BMW4","c"=>"aens1","e"=>"BMW5");
ksort($auto,SORT_STRING|SORT_FLAG_CASE);//不区分大小写排序字符串
foreach($auto as $key=>$val)
{
echo "auto[".$key."]=".$val."\n";
//输出auto[a]=honda3 auto[b]=bens2 auto[c]=aens1 auto[d]=BMW4 auto[e]=BMW5
}
<?php
$auto = array("b"=>"bens2","a"=>"honda3","d"=>"BMW4","c"=>"aens1","e"=>"BMW5");
ksort($auto,SORT_STRING|SORT_FLAG_CASE);//不区分大小写排序字符串
foreach($auto as $key=>$val)
{
echo "auto[".$key."]=".$val."\n";
//输出auto[a]=honda3 auto[b]=bens2 auto[c]=aens1 auto[d]=BMW4 auto[e]=BMW5
}
<?php
$auto = array("b"=>"bens2","e"=>"bens20","a"=>"bens31","d"=>"bens41","c"=>"bens1","e"=>"bens15");
sort($auto,SORT_STRING|SORT_FLAG_CASE);//不区分大小写排序字符串
echo "sort排序:<br>";
foreach($auto as $key=>$val)
{
echo "auto[".$key."]=".$val."<br>";
}
$auto1 = array("b"=>"bens2","e"=>"bens20","a"=>"bens31","d"=>"bens41","c"=>"bens1","e"=>"bens15");
natsort($auto1);//参数只有一个
echo "natsort排序:<br>";
foreach($auto1 as $key=>$val)
{
echo "auto[".$key."]=".$val."<br>";
}
//输出
/* sort排序:
auto[0]=bens1
auto[1]=bens15
auto[2]=bens2
auto[3]=bens31
auto[4]=bens41
natsort排序:
auto[c]=bens1
auto[b]=bens2
auto[e]=bens15
auto[a]=bens31
auto[d]=bens41 */
<?php
$auto1 = array("b"=>"bens2","e"=>"bens20","a"=>"bens31","d"=>"bens41","c"=>"bens1","e"=>"bens15");
shuffle($auto1);
foreach($auto1 as $key=>$val)
{
echo "auto[".$key."]=".$val."<br>";
}
//输出
/* auto[0]=bens41
auto[1]=bens15
auto[2]=bens1
auto[3]=bens2
auto[4]=bens31 */