2017-02-04 26 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