示例#1
0
文件: find.php 项目: iltar/phpr
<?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);
示例#2
0
文件: select.php 项目: iltar/phpr
<?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);
示例#3
0
文件: partition.php 项目: iltar/phpr
<?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());
?>

示例#4
0
文件: group_by.php 项目: iltar/phpr
<?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);
}));
示例#5
0
文件: sort.php 项目: iltar/phpr
<?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());
示例#6
0
文件: each.php 项目: iltar/phpr
<?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";
});
示例#7
0
文件: minmax.php 项目: iltar/phpr
<?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";
示例#8
0
文件: all.php 项目: iltar/phpr
<?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";
?>

示例#9
0
文件: inject.php 项目: iltar/phpr
<?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";
示例#10
0
文件: map.php 项目: iltar/phpr
<?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());
示例#11
0
文件: includes.php 项目: iltar/phpr
<?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";
示例#12
0
文件: reject.php 项目: iltar/phpr
<?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());
示例#13
0
 /**
  * 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));
 }