2021-01-17

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

上一篇:设计模式:装饰者模式


下一篇:电池ntc的功能设定