1. Go to this page and download the library: Download hoa/iterator library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
hoa / iterator example snippets
$foobar = new Hoa\Iterator\Map(['f', 'o', 'o', 'b', 'a', 'r']);
foreach ($foobar as $value) {
echo $value;
}
/**
* Will output:
* foobar
*/
$filter = new Hoa\Iterator\CallbackFilter(
$foobar,
function ($value, $key, $iterator) {
return false === in_array($value, ['a', 'e', 'i', 'o', 'u']);
}
);
foreach ($filter as $value) {
echo $value;
}
/**
* Will output:
* fbr
*/
$limit = new Hoa\Iterator\Limit($foobar, 2, 3);
foreach ($limit as $value) {
echo $value;
}
/**
* Will output:
* oba
*/
$infinite = new Hoa\Iterator\Infinite($foobar);
$limit = new Hoa\Iterator\Limit($infinite, 0, 21);
foreach ($limit as $value) {
echo $value;
}
/**
* Will output:
* foobarfoobarfoobarfoo
*/
$repeater = new Hoa\Iterator\Repeater(
$foobar,
3,
function ($i) {
echo "\n";
}
);
foreach ($repeater as $value) {
echo $value;
}
/**
* Will output:
* foobar
* foobar
* foobar
*/
$counter = new Hoa\Iterator\Counter(0, 12, 3);
foreach ($counter as $value) {
echo $value, ' ';
}
/**
* Will output:
* 0 3 6 9
*/
$counter1 = new Hoa\Iterator\Counter(0, 12, 3);
$counter2 = new Hoa\Iterator\Counter(13, 23, 2);
$append = new Hoa\Iterator\Append();
$append->append($counter1);
$append->append($counter2);
foreach ($append as $value) {
echo $value, ' ';
}
/**
* Will output:
* 0 3 6 9 13 15 17 19 21
*/
$foobar = new Hoa\Iterator\Map(['f', 'o', 'o', 'b', 'a', 'r']);
$baz = new Hoa\Iterator\Map(['b', 'a', 'z']);
$multiple = new Hoa\Iterator\Multiple(
Hoa\Iterator\Multiple::MIT_NEED_ANY
| Hoa\Iterator\Multiple::MIT_KEYS_ASSOC
);
$multiple->attachIterator($foobar, 'one', '!');
$multiple->attachIterator($baz, 'two', '?');
foreach ($multiple as $iterators) {
echo $iterators['one'], ' | ', $iterators['two'], "\n";
}
/**
* Will output:
* f | b
* o | a
* o | z
* b | ?
* a | ?
* r | ?
*/
$counter = new Hoa\Iterator\Counter(0, 10, 1);
$multiple = new Hoa\Iterator\Multiple();
$multiple->attachIterator($counter);
$multiple->attachIterator(clone $counter);
$demultiplexer = new Hoa\Iterator\Demultiplexer(
$multiple,
function ($current) {
return $current[0] * $current[1];
}
);
foreach ($demultiplexer as $value) {
echo $value, ' ';
}
/**
* Will output:
* 0 1 4 9 16 25 36 49 64 81
*/