Invokes the function for each value in the array. Creates a new array containing the values returned by the function.
Example:
$array = array('a' => '1', 'b' => '2', 'c' => '3');
$result = Arrays::mapEntries($array, function ($key, $value) {
return $key . '_' . $value;
});
Result:
Array
(
[a] => a_1
[b] => b_2
[c] => c_3
)
/** * @test */ public function shouldMapEntries() { //given $array = array('a' => 1, 'b' => 2, 'c' => 3); //when $result = Arrays::mapEntries($array, function ($key, $value) { return $key . '_' . $value; }); //then $this->assertEquals(array('a' => 'a_1', 'b' => 'b_2', 'c' => 'c_3'), $result); }
static function toFlotData($game_users, $userDataFunction) { $result = []; foreach ($game_users as $game_user) { $data = array_values(Arrays::mapEntries($userDataFunction($game_user), function ($round, $closed) use($game_user) { return [$round, $closed]; })); $result[] = ['label' => $game_user->user->login, 'data' => $data]; } return $result; }
public function mapEntries($function) { $this->_array = Arrays::mapEntries($this->_array, $function); return $this; }