//array(5) { // [0]=> // string(9) "gmail.com" // [1]=> // string(11) "yahoo.co.jp" // [2]=> // string(11) "hotmail.com" // [3]=> // string(9) "gmail.com" // [4]=> // string(11) "hotmail.com" //} #集計 #県ごとにグルーピングgroupby $arr2 = _::groupBy($arr, function ($ele) { return $ele["pref"]; }); //var_dump( $arr2 ); //県ごとにグルーピング //array(3) { // ["chiba"]=> // array(2) { // [0]=> // array(4) { // ["name"]=> // string(7) " kazumi" // ["domain"]=> // string(9) "gmail.com" // ["age"]=> // string(2) "30" // ["pref"]=>
/** * 女優データとタグデータをセットする * * @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; }