<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                你想讓多維數組排序像SQL語句的order by 一樣爽么,那就試試yii2的ArrayHelper::multisort,這貨真的挺強大的。當然,PHP自己也有一個array_multisort(),不過今天,我們只說yii2。 public static void multisort ( &$array, $key, $direction = SORT_ASC, $sortFlag = SORT_REGULAR ) 首先要知道這個函數應用場景是對二維數組按列排序,它不會返回一個新數組,這從第一個參數&$array我們就可以看出,傳遞的是這個數組的索引,執行函數后,原數組將會被改變。 重點參數為$key,它接收3種形式 第一種:字符串,該類型適合于采用一個列值排序 /** * 我們對數組$arr按照id的大小進行降序排序 */ $arr = [ 0=>['id'=>1,'name'=>'abei'], 1=>['id'=>2,'name'=>'li'], 3=>['id'=>4,'name'=>'wb'], 4=>['id'=>3,'name'=>'world'] ]; ArrayHelper::multisort($arr,'id',SORT_DESC); var_dump($arr); // 獲得結果為 array (size=4) 0 => array (size=2) 'id' => int 4 'name' => string 'wb' (length=2) 1 => array (size=2) 'id' => int 3 'name' => string 'world' (length=5) 2 => array (size=2) 'id' => int 2 'name' => string 'li' (length=2) 3 => array (size=2) 'id' => int 1 'name' => string 'abei' (length=4) 第二種:數組,該類型適合于對多個列值進行聯合排序,當$key為數組時候,$direction如果為數組,且必須和$key數組長度一致,如果為字符串,則該字符串將作用于所有的$key. /** * 我們對數組$arr按照id的大小進行降序排序,然后對name進行生序排序 */ $arr = [ 0=>['id'=>1,'name'=>'abei'], 1=>['id'=>1,'name'=>'li'], 3=>['id'=>1,'name'=>'wb'], 4=>['id'=>3,'name'=>'world'] ]; ArrayHelper::multisort($arr,['id','name'],[SORT_DESC,SORT_ASC]); var_dump($arr); // 獲得結果為 array (size=4) 0 => array (size=2) 'id' => int 3 'name' => string 'world' (length=5) 1 => array (size=2) 'id' => int 1 'name' => string 'abei' (length=4) 2 => array (size=2) 'id' => int 1 'name' => string 'li' (length=2) 3 => array (size=2) 'id' => int 1 'name' => string 'wb' (length=2) 第三種:自定義函數,當$key為一個函數時候,multisort將以這個函數的返回做作為排序的值,其他參數依舊。 /** * 我們對數組$arr每一個子數組的id==1時,返回w,否則返回b,然后根據返回值進行降序排序 */ $arr = [ 0=>['id'=>1,'name'=>'abei'], 1=>['id'=>1,'name'=>'li'], 3=>['id'=>1,'name'=>'wb'], 4=>['id'=>3,'name'=>'world'] ]; ArrayHelper::multisort($arr,function($item){ if($item['id'] == 1){ return 'w'; }else{ return 'b'; } },SORT_DESC); var_dump($arr); // 獲得結果為 array (size=4) 0 => array (size=2) 'id' => int 1 'name' => string 'abei' (length=4) 1 => array (size=2) 'id' => int 1 'name' => string 'li' (length=2) 2 => array (size=2) 'id' => int 1 'name' => string 'wb' (length=2) 3 => array (size=2) 'id' => int 3 'name' => string 'world' (length=5) 第4個函數$sortFlag說明 $sortFlag共有6個值,詳情可以參考 http://php.net/manual/en/function.sort.php, multisort將排序的值根據$sortFlag的設置轉換類型后排序。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看