<?php /** * Find code sample * * PHP version 5.5 * * @category Samples * @package PHPR * @author Eustáquio Rangel <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GPL * @link http://github.com/taq/torm */ require_once "../../vendor/autoload.php"; $col = new PHPR\Collection(["one", "two", "three"]); $rst = $col->find(function ($e) { return preg_match('/^t/', $e); }); var_dump($rst);
<?php /** * Select code sample * * PHP version 5.5 * * @category Samples * @package PHPR * @author Eustáquio Rangel <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GPL * @link http://github.com/taq/torm */ require_once "../../vendor/autoload.php"; $col = new PHPR\Collection(["one", "two", "three"]); $rst = $col->select(function ($e) { return strlen($e) > 3; }); var_dump($rst->values()); $filtered = array_filter($col->values(), function ($e) { return strlen($e) > 3; }); var_dump($filtered);
<?php /** * Partition code sample * * PHP version 5.5 * * @category Samples * @package PHPR * @author Eustáquio Rangel <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GPL * @link http://github.com/taq/torm */ require_once "../../vendor/autoload.php"; $col = new PHPR\Collection([1, 2, 3, 4, 5]); $cols = $col->partition(function ($e) { return $e % 2 == 0; }); echo "even numbers:\n"; var_dump($cols[0]->values()); echo "odd numbers:\n"; var_dump($cols[1]->values()); ?>
<?php /** * Group by code sample * * PHP version 5.5 * * @category Samples * @package PHPR * @author Eustáquio Rangel <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GPL * @link http://github.com/taq/torm */ require_once "../../vendor/autoload.php"; $col = new PHPR\Collection(["one", "two", "three"]); var_dump($col->groupBy(function ($e) { return strlen($e); }));
<?php /** * Sort code sample * * PHP version 5.5 * * @category Samples * @package PHPR * @author Eustáquio Rangel <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GPL * @link http://github.com/taq/torm */ require_once "../../vendor/autoload.php"; $col = new PHPR\Collection(["one", "two", "three"]); var_dump($col->sort()->values());
<?php /** * Each code sample * * PHP version 5.5 * * @category Samples * @package PHPR * @author Eustáquio Rangel <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GPL * @link http://github.com/taq/torm */ require_once "../../vendor/autoload.php"; $col = new PHPR\Collection(["one", "two", "three"]); // no associative $col->each(function ($e) { echo "{$e}\n"; }); // associative $col->each(function ($key, $val) { echo "{$key} = {$val}\n"; });
<?php /** * Min and max code sample * * PHP version 5.5 * * @category Samples * @package PHPR * @author Eustáquio Rangel <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GPL * @link http://github.com/taq/torm */ require_once "../../vendor/autoload.php"; $col = new PHPR\Collection(["one", "two", "three"]); echo "Min is {$col->min()}\n"; echo "Max is {$col->max()}\n";
<?php /** * All code sample * * PHP version 5.5 * * @category Samples * @package PHPR * @author Eustáquio Rangel <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GPL * @link http://github.com/taq/torm */ require_once "../../vendor/autoload.php"; $col = new PHPR\Collection(["one", "two", "three"]); echo "all elements are larger than 2 chars? " . ($col->all(function ($e) { return strlen($e) > 2; }) ? "YES" : "NO") . "\n"; echo "all elements are larger than 3 chars? " . ($col->all(function ($e) { return strlen($e) > 3; }) ? "YES" : "NO") . "\n"; ?>
<?php /** * Min and max code sample * * PHP version 5.5 * * @category Samples * @package PHPR * @author Eustáquio Rangel <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GPL * @link http://github.com/taq/torm */ require_once "../../vendor/autoload.php"; $col = new PHPR\Collection([1, 2, 3, 4, 5]); echo "sum is " . $col->inject(function ($memo, $value) { return $memo + $value; }) . "\n"; echo "sum is " . $col->inject(function ($memo, $value) { return $memo + $value; }, 10) . "\n";
<?php /** * Map code sample * * PHP version 5.5 * * @category Samples * @package PHPR * @author Eustáquio Rangel <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GPL * @link http://github.com/taq/torm */ require_once "../../vendor/autoload.php"; $col = new PHPR\Collection(["one", "two", "three"]); $rst = $col->map(function ($e) { return strrev($e); }); var_dump($rst->values());
<?php /** * Includes code sample * * PHP version 5.5 * * @category Samples * @package PHPR * @author Eustáquio Rangel <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GPL * @link http://github.com/taq/torm */ require_once "../../vendor/autoload.php"; $col = new PHPR\Collection(["one", "two", "three"]); echo "one is " . ($col->includes("one") ? "" : "NOT") . "present in collection\n"; echo "four is " . ($col->includes("four") ? "" : "NOT ") . "present in collection\n";
<?php /** * Reject code sample * * PHP version 5.5 * * @category Samples * @package PHPR * @author Eustáquio Rangel <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GPL * @link http://github.com/taq/torm */ require_once "../../vendor/autoload.php"; $col = new PHPR\Collection(["one", "two", "three"]); $rst = $col->reject(function ($e) { return strlen($e) <= 3; }); var_dump($rst->values());
/** * Test inject with start value * * @return null */ public function testInjectStart() { $col = new PHPR\Collection([1, 2, 3, 4, 5]); $this->assertEquals(25, $col->inject(function ($memo, $value) { return $memo + $value; }, 10)); }