从多维数组或数组中构建一个映射(键-值 的形式)
通过“$from”和“$to”参数指定对应的键值或属性名称来设置的映射关系。
当然也可以根据分组字段“$group”来进一步分组的映射。
举个例子:
$array = [['id' => '123', 'name' => 'aaa', 'class' => 'x'],['id' => '124', 'name' => 'bbb', 'class' => 'x'],['id' => '345', 'name' => 'ccc', 'class' => 'y'],];
上面的数组执行以下方法
还可以添加第四个参数 $result = ArrayHelper::map($array, 'id', 'name', 'class');
得到的结果是
['x' => ['123' => 'aaa','124' => 'bbb',],'y' => ['345' => 'ccc',],]
下面是map方法的详细代码
/*** @paramarray $array* @param string|Closure $from* @param string|Closure $to* @param string|Closure $group* @return array*/public static function map($array, $from, $to, $group = null){$result = [];foreach ($array as $element) {$key = static:: getValue($element, $from);$value = static:: getValue($element, $to);if ($group !== null) {$result[ static:: getValue($element, $group)][$key] = $value;} else {$result[$key] = $value;}}return $result;}
以上就是Yii2.来源gao@daima#com搞(%代@#码网0 ArrayHelper::map() 使用方法的内容,更多相关内容请随时关注我们网站!