(PECL ds >= 1.2.7)
Ds\Set::map β ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ callback-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ callback-ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π½Π°Π±ΠΎΡΠ΅.
callbackΠ‘ΠΈΠ³Π½Π°ΡΡΡΡ callback-ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠ·ΠΎΠ²Π΅Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ Π² Π½Π°Π±ΠΎΡΠ΅, Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Ds\Set, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ callback-ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ» ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π½Π°Π±ΠΎΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° Ds\Set::map()
<?php
$set = new \Ds\Set([1, 2, 3]);
var_dump($set->map(function ($value) {
return $value * 2;
}));
var_dump($set);
?>ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π°:
object(Ds\Set)#3 (3) {
[0]=>
int(2)
[1]=>
int(4)
[2]=>
int(6)
}
object(Ds\Set)#1 (3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}