close

目前情況是根本不會出現XDD但是要怎麼排序它,整個太多,所以只抓要排序的 status 出來

    Array
    (

        [0] => Array
              (
                  //根本沒有 [status]
              )


        [1] => Array
             (
                  [status] => N
             )

 

        [2] => Array
             (
                  [status] => Y
             )

 

        [3] => Array
            (
                  [status] => N/A
            )

    )

 

ASC 排序

        function sort_status_asc($a, $b) {
            if (!isset($a['status'])){
                $a['status']='';
            }
            if (!isset($b['status'])){
                $b['status']='';
            }
            if ($a['status'] === $b['status']) {
                return 0;
            }
            return ($a['status'] > $b['status']) ? 1 : -1;
        }


DESC 排序

         function sort_status_desc($a, $b) {
            if (!isset($a['status'])){
                $a['status']='';
            }
            if (!isset($b['status'])){
                $b['status']='';
            }
            if ($a['status'] === $b['status']) {
                return 0;
            }
            return ($a['status'] < $b['status']) ? 1 : -1;
        }


主程式?call以上兩個function

         if ($sort_column && $sort_column === 'status DESC') {
            usort($result, 'sort_status_desc');
        } elseif(!$sort_column || ($sort_column && $sort_column === 'status ASC')) {
            usort($result, 'sort_status_asc');
        } 






上網找好多都找不到自己想要的喔!!!覺得觀念還是要很清楚而且!!!腦袋要清晰哈哈哈
本來我有想好會遇到三種可能性就是

1. $a 沒有,$b 也沒有
2. $a 沒有,但$b 有
3. $a 有,但$b 沒有

結果同事說那直接都給它們空值呢!!!!沒想到usort會自動排耶真是厲害XDDD
然後終於解決了覺得開心。

arrow
arrow
    文章標籤
    php sort usort null empty
    全站熱搜

    Kaikai凱開 發表在 痞客邦 留言(1) 人氣()