(PECL ds >= 1.0.0)
Ds\Map::map β ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ callback-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ callback-ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΉ Π²
callback, ΠΊΠΎ Π²ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
callback
ΠΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΈΠΏΠ° callable.
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ callback ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΎΡΡΠ°Π½ΡΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ds\Map::map()
<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
print_r($map->map(function($key, $value) { return $value * 2; }));
print_r($map);
?>ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π°:
(
[0] => Ds\Pair Object
(
[key] => a
[value] => 2
)
[1] => Ds\Pair Object
(
[key] => b
[value] => 4
)
[2] => Ds\Pair Object
(
[key] => c
[value] => 6
)
)
Ds\Map Object
(
[0] => Ds\Pair Object
(
[key] => a
[value] => 1
)
[1] => Ds\Pair Object
(
[key] => b
[value] => 2
)
[2] => Ds\Pair Object
(
[key] => c
[value] => 3
)
)