php 中文 排序规则,数组的排序规则

实例

/**

* 数组:由键名和值二部分组成,排序也主要是依据键名与值

* 键名: 索引和关联,升序和降序

* 值: 也有二种排序规则

*

*/

echo '

';

//根据数组的值进行排序

//1. 升序

$arr = [45,90,22,10,3,18,33];

sort($arr); // 自然排序

//echo var_export($arr),'


';

//2. 降序

$arr = [45,90,22,10,3,18,33];

rsort($arr);

//echo var_export($arr),'


';

//3.回调

$arr = [45,90,22,10,3,18,33];

usort($arr, function($var1, $var2){

$res = $var1 - $var2;

switch ($res) {

case ($res 

//            return -1;

return 1;  // 降序

break;

case ($res > 0):

//            return 1;

return -1; // 降序

break;

case ($res == 0):

return 0;

break;

}

});

//echo var_export($arr),'


';

// usort()多维数组的排序

$stu = [

['name'=>'林心如','grade'=>98],

['name'=>'范冰冰','grade'=>55],

['name'=>'左小青','grade'=>73],

];

//echo '排序之前:',var_export($stu,true),'


';

//用户自定义排序规则

usort($stu, function ($m, $n) {

//$m ,$n实际上还是一个数组

return strcmp($m['grade'], $n['grade']);

});

//echo '排序之后:',var_export($stu,true),'


';

//根据数组的键进行排序

$lang = ['html'=>'标记语言','css'=>'样式表','javascript'=>'前端脚本','php'=>'后端脚本'];

ksort($lang);

echo var_export($lang),'


';

$lang = ['html'=>'标记语言','css'=>'样式表','javascript'=>'前端脚本','php'=>'后端脚本'];

krsort($lang);

echo var_export($lang),'


';

//使用自定义的回调函数,对键名进行排序

// 根据键名的第二个字母进行排序

$lang = ['html'=>'标记语言','css'=>'样式表','javascript'=>'前端脚本','php'=>'后端脚本'];

uksort($lang, function($m, $n) {

$a = substr($m,1,1 );

$b = substr($n,1,1 );

return strcmp($a, $b);

});

echo var_export($lang),'


';

运行实例 »

点击 "运行实例" 按钮查看在线实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值