2017-02-04 69 views
1

我有一個問題。如何在Yii2中使用ArrayHelper :: multisort()

在Yii2

公共靜態無效multisort(& $陣列,$鍵,$方向= SORT_ASC, $ sortFlag = SORT_REGULAR)

文檔說$鍵可以是一個函數,但我設置了一個函數作爲$鍵,結果不會改變。

如何使用$ key作爲函數。

我的代碼是

$arr = [ 
     0=>['id'=>1,'name'=>'abei'], 
     1=>['id'=>4,'name'=>'li'], 
     3=>['id'=>4,'name'=>'wb'], 
     4=>['id'=>3,'name'=>'world'] 
    ]; 


    ArrayHelper::multisort($arr,function($item){ 
     return isset($item['id']) ? ['id', 'name'] : 'name'; 
    },SORT_DESC); 
    var_dump($arr); 

回答

0

你有一個&前$項目嘗試刪除它

ArrayHelper::multisort($arr,function($item){ 
    return isset($item['id']) ? ['id', 'name'] : 'name'; 
},SORT_DESC); 
var_dump($arr); 
+0

我刪除和,結果不會改變 – abei

+0

您的ID總是設置好的..什麼是您預期的結果和你的實際結果 – scaisEdge

+0

我只研究文檔。 http://www.yiiframework.com/doc-2.0/guide-helper-array.html#multidimensional-sorting – abei