Orders the values mapped from the supplied function ascendingly
Example function:
public orderByAscending ( callable $function ) : Pinq\Interfaces\IOrderedTraversable | ||
$function | callable | The mapping function |
return | Pinq\Interfaces\IOrderedTraversable |
/** * @dataProvider people */ public function testOrderByMultipleColumns(\Pinq\ITraversable $traversable, array $data) { $orderedNames = $traversable->orderByAscending(function ($i) { return $i['firstName']; })->thenByDescending(function ($i) { return $i['lastName']; })->implode(':', function ($i) { return $i['firstName'] . ' ' . $i['lastName']; }); $this->assertEquals('Alex Katter:Beth Baronksy:Casy Denali:Daniel Farmer:Daniel Dekresta:Dave Desopolous:David Faller:Hugo Tesserat:Sandy Williams:Zoe Black', $orderedNames); }
/** * @dataProvider dates */ public function testThatOrderByOrdersDatesCorrectly(\Pinq\ITraversable $dates, array $data) { $years = $dates->orderByAscending(function (\DateTime $date) { return $date; })->select(function (\DateTime $date) { return $date->format('Y'); })->implode(':'); $this->assertSame('2000:2001:2002:2003:2004:2005', $years); }