本文整理汇总了PHP中Ouzo\Utilities\Arrays::groupBy方法的典型用法代码示例。如果您正苦于以下问题:PHP Arrays::groupBy方法的具体用法?PHP Arrays::groupBy怎么用?PHP Arrays::groupBy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Ouzo\Utilities\Arrays
的用法示例。
在下文中一共展示了Arrays::groupBy方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getClosedByRoundForCricket
public function getClosedByRoundForCricket()
{
$hits = Hit::join('game_user->user')->where(['game_user_id' => $this->id])->order('hits.id asc')->fetchAll();
$byRound = Arrays::groupBy($hits, Functions::extract()->round);
$closedInRound = [];
$closed = [15 => 0, 16 => 0, 17 => 0, 18 => 0, 19 => 0, 20 => 0, 25 => 0];
foreach ($byRound as $round => $hits) {
$closedInCurrentRound = 0;
foreach ($hits as $hit) {
if (isset($closed[$hit->field])) {
$closedField = min($hit->multiplier, 3 - $closed[$hit->field]);
$closedInCurrentRound += $closedField;
$closed[$hit->field] += $closedField;
}
}
$closedInRound[$round] = $closedInCurrentRound;
}
return $closedInRound;
}
示例2: groupBy
public function groupBy($selector)
{
$this->_array = Arrays::groupBy($this->_array, $selector);
return $this;
}
示例3: _loadRelationObjectsIndexedById
private function _loadRelationObjectsIndexedById($localKeys)
{
$relationObject = $this->_relation->getRelationModelObject();
$relationObjects = $relationObject::where(array($this->_relation->getForeignKey() => $localKeys))->where($this->_relation->getCondition())->order($this->_relation->getOrder())->fetchAll();
return Arrays::groupBy($relationObjects, Functions::extractField($this->_relation->getForeignKey()));
}
示例4: shouldGroupByAndSort
/**
* @test
*/
public function shouldGroupByAndSort()
{
//given
$product1 = new Product(array('name' => 'a', 'description' => '1', 'id_category' => '1'));
$product2 = new Product(array('name' => 'b', 'description' => '2', 'id_category' => '2'));
$product3 = new Product(array('name' => 'c', 'description' => '2', 'id_category' => '1'));
$array = array($product1, $product2, $product3);
//when
$grouped = Arrays::groupBy($array, Functions::extractField('description'), 'id_category');
//then
$this->assertEquals(array('1' => array($product1), '2' => array($product3, $product2)), $grouped);
}