public function test_ArrayImpl() { $expected = 110; $actual = a_::chain(a_::range(1, 11))->map(f::op('*', [2]))->sum(); $this->assertEquals($expected, $actual); }
// 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"
/** * 女優データとタグデータをセットする * * @param unknown $items 商品id */ private function setGirlAndTag($items) { $itemIdArr = array(); //itemIdを取り出すためだけにループをまわす foreach ($items as $item) { $itemId = $item['Item']['id']; $itemIdArr[] = $itemId; } $tagData2 = $this->ItemTag->makeTagDataWhereInItemId($itemIdArr); //$girlData2 = $this->ItemGirl->makeGirlDataWhereInItemId( $itemIdArr ); $tagHashGroupByItemId = _::groupBy($tagData2, function ($ele) { return $ele["item_id"]; }); $girlHashGroupByItemId = array(); //女優、タグデータと結合する foreach ($items as &$item) { list($tagData3, $girlData3) = $this->merggeTgAndGirls($item['Item']['id'], $tagHashGroupByItemId, $girlHashGroupByItemId); $item['Tag'] = $tagData3; //$item['Girl'] = $girlData3; } return $items; }