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'));
相關文章
相關標籤/搜索