1、从多维数组中取出值:getValue

$arr= [
       'aa'=>[
            'bb'=>new Test() //有个name属性
        ]
     ];
//php取Test中的name属性如下:
$name = isset($arr['aa']['bb']->name) ? $arr['aa']['bb']->name : null;
//ArrayHelper
$name = \yii\helpers\ArrayHelper::getValue($arr,'aa.bb.name');


2、将多维数组转化key->val形式数组,类似下拉列表数据:map

如:$arr = [['id'=>1,'name'=>'zz'],['id'=>2,'name'=>'cc'],..],转成一维数组,将id做为key如下:


\yii\helpers\ArrayHelper::map($arr,'id','name'); 
//[1=>'zz',2=>'cc',...]


3、取出多维数组或对象数组中某一列的值:

如:$arr = [

['id'=>1,'name'=>'zz'],['id'=>2,'name'=>'cc'],...]

//取出name这一列
\yii\helpers\ArrayHelper::getColumn($arr,'name')
//['zz','cc',...]


4、多维数组排序:multisort

\yii\helpers\ArrayHelper::multisort($data,['age','name'],SORT_ASC,SORT_DESC)


5、重建数组索引:

\yii\helpers\ArrayHelper::index($data,'id')


6、对象转数组

\yii\helpers\ArrayHelper::toArray($obj,[..])