<?php use Cubiche\Core\Comparable\Direction; use Cubiche\Core\Enumerable\Enumerable; use Cubiche\Core\Enumerable\Order; require 'vendor/autoload.php'; require 'utils.php'; echo 'The sorted method example.' . PHP_EOL; $sequence = sequence(15, 0, 10, true); $sorted = Enumerable::from($sequence)->sorted(); $reverse = Enumerable::from($sequence)->sorted(Order::defaultComparator()->reverse()); echo '- The original sequence: ' . sequenceToString($sequence) . PHP_EOL; echo '- The sorted sequence: ' . sequenceToString($sorted) . PHP_EOL; echo '- The reverse sorted sequence: ' . sequenceToString($reverse) . PHP_EOL; /*#########################################################################*/ echo 'The sorting persons example.' . PHP_EOL; $sequence = persons(10); $result1 = Enumerable::from($sequence)->sorted(Order::by('age')); $result2 = Enumerable::from($sequence)->sorted(Order::by('height', Direction::DESC())); $result3 = Enumerable::from($sequence)->sorted(Order::by('age')->otherwise(Order::by('height', Direction::DESC()))->otherwise(Order::by('weight'))); echo '- The original sequence: ' . PHP_EOL . sequenceToString($sequence, true) . PHP_EOL; echo "- The sorted(Order::by('age')) sequence: " . PHP_EOL . sequenceToString($result1, true) . PHP_EOL; echo "- The sorted(Order::by('height', Direction::DESC())) sequence: " . PHP_EOL . sequenceToString($result2, true) . PHP_EOL; echo '- The sequence sorted by age or by height(DESC) or by weight: ' . PHP_EOL . sequenceToString($result3, true) . PHP_EOL;
require 'vendor/autoload.php'; require 'utils.php'; echo 'The all method example.' . PHP_EOL; $sequence = sequence(15, 0, 10, true); $result = Enumerable::from($sequence)->all(Criteria::gte(0)->and(Criteria::lte(10))); echo '- The sequence: ' . sequenceToString($sequence) . PHP_EOL; echo '- all(Criteria::gte(0)->and(Criteria::lte(10)))? ' . boolToString($result) . PHP_EOL; /*#########################################################################*/ echo 'The any method example.' . PHP_EOL; $sequence = sequence(15, 0, 10, true); $result1 = Enumerable::from($sequence)->any(Criteria::eq(5)); $result2 = Enumerable::from($sequence)->any(Criteria::eq(11)); echo '- The sequence: ' . sequenceToString($sequence) . PHP_EOL; echo '- any(Criteria::eq(5))? ' . boolToString($result1) . PHP_EOL; echo '- any(Criteria::eq(11))? ' . boolToString($result2) . PHP_EOL; /*#########################################################################*/ echo 'The atLeast method example.' . PHP_EOL; $sequence = sequence(15, 0, 10, true); $result1 = Enumerable::from($sequence)->atLeast(5, Criteria::gte(2)->and(Criteria::lte(6))); $result2 = Enumerable::from($sequence)->atLeast(2, Criteria::eq(5)); echo '- The sequence: ' . sequenceToString($sequence) . PHP_EOL; echo '- atLeast(5, Criteria::gte(2)->and(Criteria::lte(6)))? ' . boolToString($result1) . PHP_EOL; echo '- atLeast(2, Criteria::eq(5))? ' . boolToString($result2) . PHP_EOL; /*#########################################################################*/ echo 'The contains method example.' . PHP_EOL; $sequence = sequence(15, 0, 10, true); $result1 = Enumerable::from($sequence)->contains(5); $result2 = Enumerable::from($sequence)->contains(10); echo '- The sequence: ' . sequenceToString($sequence) . PHP_EOL; echo '- contains(5)? ' . boolToString($result1) . PHP_EOL; echo '- contains(10)? ' . boolToString($result2) . PHP_EOL;
require 'utils.php'; echo 'The distinct method example.' . PHP_EOL; $sequence = sequence(15, 0, 5); $distinct = Enumerable::from($sequence)->distinct(); echo '- The original sequence: ' . sequenceToString($sequence) . PHP_EOL; echo '- The distinct sequence: ' . sequenceToString($distinct) . PHP_EOL; /*#########################################################################*/ echo 'The except method example.' . PHP_EOL; $first = sequence(15, 0, 5); $second = sequence(5, 2, 4); $except = Enumerable::from($first)->except($second); echo '- The first sequence: ' . sequenceToString($first) . PHP_EOL; echo '- The second sequence: ' . sequenceToString($second) . PHP_EOL; echo '- The except sequence: ' . sequenceToString($except) . PHP_EOL; /*#########################################################################*/ echo 'The intersect method example.' . PHP_EOL; $first = sequence(15, 0, 5); $second = sequence(5, 2, 4); $intersect = Enumerable::from($first)->intersect($second); echo '- The first sequence: ' . sequenceToString($first) . PHP_EOL; echo '- The second sequence: ' . sequenceToString($second) . PHP_EOL; echo '- The intersect sequence: ' . sequenceToString($intersect) . PHP_EOL; /*#########################################################################*/ echo 'The union method example.' . PHP_EOL; $first = sequence(10, 0, 5); $second = sequence(10, 4, 8); $union = Enumerable::from($first)->union($second); echo '- The first sequence: ' . sequenceToString($first) . PHP_EOL; echo '- The second sequence: ' . sequenceToString($second) . PHP_EOL; echo '- The union sequence: ' . sequenceToString($union) . PHP_EOL;