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,[..])