php 针对一维数组字符串长度排序
/*
* php 针对一维数组字符串长度排序
* $arr 要排序的数组
* $order 排序方式:升序--》asc,降序----》desc
* $obj 排序目标:根据键----》key,根据值---》val
* return 经过排序处理的数组
*/
function selfSort($arr,$order = 'asc',$obj = ''){
if(!$arr){echo '空数组不做处理';return false;}
switch ($order.$obj){
case 'asc':
sort($arr);
break;
case 'desc':
rsort($arr);
break;
case 'asckey':
ksort($arr);
break;
case 'desckey':
krsort($arr);
break;
case 'ascval':
asort($arr);
break;
case 'descval':
arsort($arr);
break;
}
$len=count($arr);
//该层循环控制 需要冒泡的轮数
for($i=1;$i<$len;$i++) {
//该层循环用来控制每轮 冒出一个数 需要比较的次数
for($k=0;$k<$len-$i;$k++) {
if($order = 'asc'){
if(strlen($arr[$k]) < strlen($arr[$k+1])) {
$tmp=$arr[$k+1];
$arr[$k+1]=$arr[$k];
$arr[$k]=$tmp;
}
}else{
if(strlen($arr[$k]) > strlen($arr[$k+1])) {
$tmp=$arr[$k+1];
$arr[$k+1]=$arr[$k];
$arr[$k]=$tmp;
}
}
}
}
return $arr;
}
$endLongArr = array(
'网络科技有限公司','信息技术有限公司','文化股份有限公司','文化传媒有限公司','信息科技有限公司','网络技术股份有限公司',
'网络科技股份有限公司','科技有限责任公司','科技股份有限公司','技术股份有限公司','企业管理有限公司','动漫有限公司',
'数码科技有限公司','软件科技有限公司','文化传播有限公司','软件开发有限公司','信息网络有限公司','信息系统开发有限公司',
'计算机技术有限公司','互动娱乐有限公司','互联网有限公司','互动娱乐发展有限公司','金融信息服务有限公司','信息服务有限公司',
'娱乐发展有限公司','软件股份有限公司','文化创意有限公司','数字技术有限公司','文化传播股份有限公司','体育文化有限公司',
'网络信息技术有限公司','数码科技有限公司','数字科技有限公司','网络技术有限公司','经营管理有限公司','环保科技有限公司',
'互娱科技有限公司','互娱网络科技有限公司','经济技术合作公司','电子科技有限公司','软件科技发展有限公司','互动科技有限公司',
'互动科技股份有限公司','物联技术有限公司','健康科技有限公司','科技开发有限责任公司','科技开发有限公司','餐饮管理有限公司',
);
p(selfSort($endLongArr,'desc'));
$endMidArr = array(
'传媒有限公司','股份有限公司','有限责任公司','技术有限公司','科技有限公司','商贸有限公司','开发有限公司','发展有限公司','服务有限公司',
'创意有限公司','文化有限公司','管理有限公司','技术合作公司','控股集团','数码有限公司',
);
p(selfSort($endMidArr,'desc'));
$endStArr = array('有限公司','集团',);
p(selfSort($endStArr,'desc'));
转载于:https://my.oschina.net/u/3268486/blog/1817583