Home  >  Article  >  php教程  >  Yii2.0 ArrayHelper::map() usage method

Yii2.0 ArrayHelper::map() usage method

黄舟
黄舟Original
2017-01-03 09:33:272034browse

Construct a mapping (in the form of key-value) from a multidimensional array or array

The mapping relationship is set by specifying the corresponding key value or attribute name through the "$from" and "$to" parameters.

Of course, you can also further group mapping based on the grouping field "$group".

For example:

$array = [

['id' => '123', 'name' => 'aaa', 'class' => 'x'],

['id' => '124', 'name' => 'bbb', 'class' => 'x'],

['id' => '345', 'name' => 'ccc', 'class' => 'y'],

];

The above array executes the following method

还可以添加第四个参数  
  
$result = ArrayHelper::map($array, 'id', 'name', 'class');

The result is

[

'x' => [

'123' => 'aaa',

'124' => 'bbb',

],

'y' => [

'345' => 'ccc',

],

]

The following is the detailed code of the map method

/**
* @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;
}


The above is the content of Yii2.0 ArrayHelper::map() usage. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn