PHP code example of mulertech / collections

1. Go to this page and download the library: Download mulertech/collections 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/ */

    

mulertech / collections example snippets


$collection = new Collection([1, 2, 3, 4, 5]);

$collection = new Collection([1, 2, 3]);
$collection->all(fn ($item) => $item <= 3); // true

$collection = new Collection([1, 2, 3]);
$collection->any(fn ($item) => $item === 2); // true

$collection = new Collection([3, 1, 2]);
$collection->arsort();
$collection->items(); // [0 => 3, 2 => 2, 1 => 1]

$collection = new Collection([3, 1, 2]);
$collection->asort();
$collection->items(); // [1 => 1, 2 => 2, 0 => 3]

$collection = new Collection(['a' => 1, 'B' => 2]);
$collection->changeKeyCase(CASE_UPPER);
$collection->items(); // ['A' => 1, 'B' => 2]

$collection = new Collection([1, 2, 3, 4]);
$collection->chunk(2); // [[1, 2], [3, 4]]

$collection = new Collection([
    ['id' => 1, 'name' => 'John'],
    ['id' => 2, 'name' => 'Jane']
]);
$collection->column('name'); // ['John', 'Jane']

$collection = new Collection();
$collection->combine(['a', 'b'], [1, 2]);
$collection->items(); // ['a' => 1, 'b' => 2]

$collection = new Collection([1, 2, 3]);
$collection->contains(2); // true

$collection = new Collection([1, 2, 3]);
$collection->count(); // 3

$collection = new Collection([1, 1, 2, 3, 3, 3]);
$collection->countValues(); // [1 => 2, 2 => 1, 3 => 3]

$collection = new Collection([1, 2, 3]);
$collection->current(); // 1

$collection = new Collection([1, 2, 3]);
$collection->diff([2, 3, 4]); // [0 => 1]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->diffAssoc(['a' => 1, 'b' => 3]); // ['b' => 2]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->diffKey(['a' => 3]); // ['b' => 2]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->diffUassoc(fn ($a, $b) => $a <=> $b, ['a' => 1, 'b' => 3]); // ['b' => 2]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->diffUkey(fn ($a, $b) => $a <=> $b, ['a' => 3]); // ['b' => 2]

$collection = new Collection([1, 2, 3]);
$collection->end(); // 3

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->extract(); // 2

$collection = new Collection();
$collection->fill(0, 3, 'a');
$collection->items(); // ['a', 'a', 'a']

$collection = new Collection();
$collection->fillKeys(['a', 'b'], 'value');
$collection->items(); // ['a' => 'value', 'b' => 'value']

$collection = new Collection([1, 2, 3, 4]);
$collection->filter(fn ($item) => $item > 2);
$collection->items(); // [2 => 3, 3 => 4]

$collection = new Collection([1, 2, 3]);
$collection->find(fn ($item) => $item >= 2); // 2

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->findKey(fn ($item) => $item >= 2); // 'b'

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->flip();
$collection->items(); // [1 => 'a', 2 => 'b']

$collection = new Collection([1, 2, 3]);
foreach ($collection as $key => $value) {
    echo "Key: $key, Value: $value\n";
}

$collection = new Collection([1, 2, 3]);
$collection->inArray(2); // true

$collection = new Collection([1, 2, 3]);
$collection->intersect([2, 3, 4]); // [1 => 2, 2 => 3]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->intersectAssoc(['a' => 1, 'b' => 3]); // ['a' => 1]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->intersectKey(['a' => 3]); // ['a' => 1]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->intersectUassoc(fn ($a, $b) => $a <=> $b, ['a' => 1, 'b' => 3]); // ['a' => 1]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->intersectUkey(fn ($a, $b) => $a <=> $b, ['a' => 3]); // ['a' => 1]

$collection = new Collection([1, 2, 3]);
$collection->isList(); // true

$collection = new Collection([1, 2, 3]);
$collection->items(); // [1, 2, 3]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->key(); // 'a'

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->keyExists('b'); // true

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->keyFirst(); // 'a'

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->keyLast(); // 'b'

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->keys(); // ['a', 'b']

$collection = new Collection(['a' => 1, 'c' => 3, 'b' => 2]);
$collection->krsort();
$collection->items(); // ['c' => 3, 'b' => 2, 'a' => 1]

$collection = new Collection(['a' => 1, 'c' => 3, 'b' => 2]);
$collection->ksort();
$collection->items(); // ['a' => 1, 'b' => 2, 'c' => 3]

$collection = new Collection([1, 2, 3]);
$collection->map(fn ($item) => $item * 2);
$collection->items(); // [2, 4, 6]

$collection = new Collection([1, 2]);
$collection->merge([3, 4]);
$collection->items(); // [1, 2, 3, 4]

$collection = new Collection(['a' => 1, 'b' => ['x' => 2]]);
$collection->mergeRecursive(['b' => ['y' => 3], 'c' => 4]);
$collection->items(); // ['a' => 1, 'b' => ['x' => 2, 'y' => 3], 'c' => 4]

$collection = new Collection([3, 1, 2]);
$collection->multisort(SORT_DESC);
$collection->items(); // [3, 2, 1]

$collection = new Collection(['IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png']);
$collection->natcasesort();
$collection->items(); // ['IMG0.png', 'img1.png', 'img2.png', 'IMG3.png', 'img10.png', 'img12.png']

$collection = new Collection(['img12.png', 'img10.png', 'img2.png', 'img1.png']);
$collection->natsort();
$collection->items(); // ['img1.png', 'img2.png', 'img10.png', 'img12.png']

$collection = new Collection([1, 2, 3]);
$collection->next(); // 2

$collection = new Collection([1, 2]);
$collection->pad(4, 0);
$collection->items(); // [1, 2, 0, 0]

$collection = new Collection([1, 2, 3]);
$collection->pop(); // 3

$collection = new Collection([1, 2, 3]);
$collection->next();
$collection->prev(); // 1

$collection = new Collection([1, 2, 3]);
$collection->product(); // 6

$collection = new Collection([1, 2]);
$collection->push(3, 4);
$collection->items(); // [1, 2, 3, 4]

$collection = new Collection([1, 2, 3]);
$collection->rand(); // 1 or 2 or 3

$collection = new Collection();
$collection->range(1, 3);
$collection->items(); // [1, 2, 3]

$collection = new Collection([1, 2, 3]);
$collection->reduce(fn ($carry, $item) => $carry + $item); // 6

$collection = new Collection([1, 2, 3]);
$collection->remove(1); // [1, 3]

$collection = new Collection([1, 2, 3]);
$collection->removeItem(2); // true, collection now contains [1, 3]
$collection->removeItem(4); // false, collection unchanged

// With objects
$obj = new stdClass();
$collection = new Collection([$obj, 'string', 42]);
$collection->removeItem($obj); // true, removes the object

// Non-strict comparison
$collection = new Collection([1, '2', 3]);
$collection->removeItem(2, false); // true, removes '2'

$collection = new Collection([1, 2, 3]);
$collection->replace([4, 5]);
$collection->items(); // [4, 5, 3]

$collection = new Collection(['a' => 1, 'b' => ['x' => 2]]);
$collection->replaceRecursive(['b' => ['y' => 3], 'c' => 4]);
$collection->items(); // ['a' => 1, 'b' => ['y' => 3, 'x' => 2], 'c' => 4]

$collection = new Collection([1, 2, 3]);
$collection->next();
$collection->reset(); // 1

$collection = new Collection([1, 2, 3]);
$collection->reverse();
$collection->items(); // [3, 2, 1]

$collection = new Collection([3, 1, 2]);
$collection->rsort();
$collection->items(); // [3, 2, 1]

$collection = new Collection([1, 2, 3]);
$collection->search(2); // 1

$collection = new Collection([1, 2, 3]);
$collection->shift(); // 1

$collection = new Collection([1, 2, 3]);
$collection->shuffle();
$collection->items(); // [2, 1, 3] for example

$collection = new Collection([1, 2, 3, 4]);
$collection->slice(1, 2); // [2, 3]

$collection = new Collection([3, 1, 2]);
$collection->sort();
$collection->items(); // [1, 2, 3]

$collection = new Collection([1, 2, 3, 4]);
$collection->splice(1, 2, [5, 6]);
$collection->items(); // [1, 5, 6, 4]

$collection = new Collection([1, 2, 3]);
$collection->sum(); // 6

$collection = new Collection(['a' => 8, 'b' => -1, 'c' => 2]);
$collection->uasort(function ($a, $b) {
    if ($a === $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
});
$collection->items(); // ['b' => -1, 'c' => 2, 'a' => 8]

$collection = new Collection([1, 2, 3]);
$collection->udiff(fn ($a, $b) => $a <=> $b, [2, 3, 4]); // [0 => 1]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->udiffAssoc(fn ($a, $b) => $a <=> $b, ['a' => 1, 'b' => 3]); // ['b' => 2]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->udiffUassoc(fn ($a, $b) => $a <=> $b, fn ($a, $b) => $a <=> $b, ['a' => 1, 'b' => 3]); // ['b' => 2]

$collection = new Collection([1, 2, 3]);
$collection->uintersect(fn ($a, $b) => $a <=> $b, [2, 3, 4]); // [1 => 2, 2 => 3]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->uintersectAssoc(fn ($a, $b) => $a <=> $b, ['a' => 1, 'b' => 3]); // ['a' => 1]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->uintersectUassoc(fn ($a, $b) => $a <=> $b, fn ($a, $b) => $a <=> $b, ['a' => 1, 'b' => 3]); // ['a' => 1]

$collection = new Collection(['a' => 1, 'c' => 3, 'b' => 2]);
$collection->uksort(fn ($a, $b) => $a <=> $b);
$collection->items(); // ['a' => 1, 'b' => 2, 'c' => 3]

$collection = new Collection([1, 2, 2, 3]);
$collection->unique();
$collection->items(); // [1, 2, 3]

$collection = new Collection([1, 2]);
$collection->unshift(3, 4);
$collection->items(); // [3, 4, 1, 2]

$collection = new Collection([3, 1, 2]);
$collection->usort(fn ($a, $b) => $a <=> $b);
$collection->items(); // [1, 2, 3]

$collection = new Collection(['a' => 1, 'b' => 2]);
$collection->values(); // [1, 2]

$collection = new Collection([1, 2, 3]);
$collection->walk(fn (&$item) => $item *= 2);
$collection->items(); // [2, 4, 6]

$collection = new Collection(['a' => 1, 'b' => ['x' => 2]]);
$collection->walkRecursive(fn (&$item) => $item *= 2);
$collection->items(); // ['a' => 2, 'b' => ['x' => 4]]

php composer.phar update