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