// string(6) "jirou " // ["domain"]=> // string(11) "hotmail.com" // ["age"]=> // string(1) "9" // ["pref"]=> // string(5) "tokyo" // ["email"]=> // string(17) "*****@*****.**" // } //} // // // #30歳以上のメルアド(名前の空白を削除)を作る $arr3 = _::chain($arr)->filter(function ($ele) { return $ele["age"] >= 30; })->map(function ($ele) { $ele["email"] = trim($ele["name"]) . "@" . $ele["domain"]; return $ele; }); var_dump($arr3); //object(Underbar\Internal\Wrapper)#2 (2) { // ["value":"Underbar\Internal\Wrapper":private]=> // array(2) { // [0]=> // array(5) { // ["name"]=> // string(7) " kazumi" // ["domain"]=> // string(9) "gmail.com"
public function test_ArrayImpl() { $expected = 110; $actual = a_::chain(a_::range(1, 11))->map(f::op('*', [2]))->sum(); $this->assertEquals($expected, $actual); }