本文整理汇总了PHP中Cake\Collection\Collection::reduce方法的典型用法代码示例。如果您正苦于以下问题:PHP Collection::reduce方法的具体用法?PHP Collection::reduce怎么用?PHP Collection::reduce使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cake\Collection\Collection
的用法示例。
在下文中一共展示了Collection::reduce方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _getTagString
protected function _getTagString()
{
if (isset($this->_properties['tag_string'])) {
return $this->_properties['tag_string'];
}
if (empty($this->tags)) {
return '';
}
$tags = new Collection($this->tags);
$str = $tags->reduce(function ($string, $tag) {
return $string . $tag->label . ', ';
}, '');
return trim($str, ', ');
}
示例2: testReduce
/**
* Tests reduce
*
* @return void
*/
public function testReduce()
{
$items = ['a' => 1, 'b' => 2, 'c' => 3];
$collection = new Collection($items);
$callable = $this->getMock('stdClass', ['__invoke']);
$callable->expects($this->at(0))->method('__invoke')->with(10, 1, 'a')->will($this->returnValue(11));
$callable->expects($this->at(1))->method('__invoke')->with(11, 2, 'b')->will($this->returnValue(13));
$callable->expects($this->at(2))->method('__invoke')->with(13, 3, 'c')->will($this->returnValue(16));
$this->assertEquals(16, $collection->reduce($callable, 10));
}
示例3: testReduceWithoutInitialValue
/**
* Tests reduce without initial value
*
* @return void
*/
public function testReduceWithoutInitialValue()
{
$items = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];
$collection = new Collection($items);
$callable = $this->getMock('stdClass', ['__invoke']);
$callable->expects($this->at(0))->method('__invoke')->with(1, 2, 'b')->will($this->returnValue(3));
$callable->expects($this->at(1))->method('__invoke')->with(3, 3, 'c')->will($this->returnValue(6));
$callable->expects($this->at(2))->method('__invoke')->with(6, 4, 'd')->will($this->returnValue(10));
$this->assertEquals(10, $collection->reduce($callable));
}