Home > php教程 > PHP开发 > Yii2.0 ArrayHelper::map() usage method

Yii2.0 ArrayHelper::map() usage method

黄舟
Release: 2017-01-03 09:33:27
Original
2078 people have browsed it

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'],

];
Copy after login

The above array executes the following method

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

The result is

[

'x' => [

'123' => 'aaa',

'124' => 'bbb',

],

'y' => [

'345' => 'ccc',

],

]
Copy after login

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;
}
Copy after login


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)!

Related labels:
source:php.cn
Statement of this Website
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
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template