php >= 7.0master
$ composer require lucid/phlist
The Phlist
class implements a ListInterface
and is modelled after pythons list
.
<?php
use Lucid\Phlist\Phlist;
$list = new Phlist('foo', 'bar', ...);
ListInterface ListInterface::push(mixed $value)
<?php
$list = new Phlist('foo');
$list->push('bar');
$list->toArray(); // => ['foo', 'bar']
ListInterface ListInterface::insert(int $index, mixed $value)
<?php
$list = new Phlist(1, 2, 3);
$list->insert(1, 1.5);
$list->toArray(); // => [1, 1.5, 2]
mixed ListInterface::pop(void)
<?php
$list = new Phlist(1, 2, 3);
$list->pop(); // => 3
ListInterface ListInterface::remove(mixed $value)
<?php
$list = new Phlist(1, 2, 3);
$list->remove(2);
$list->toArray(); // [1, 3]
ListInterface ListInterface::sort(callable $sort|null)
<?php
$list = new Phlist(1, 4, 3, 2);
$list->sort();
$list->toArray(); // [1, 2, 3, 4]
$list = new Phlist(1, 4, 3, 2);
$list->sort(function ($a, $b) {
return $a > $b ? 1 : -1;
});
$list->toArray(); // [1, 2, 3, 4]
ListInterface ListInterface::reverse(void)
<?php
$list = new Phlist(1, 2, 3);
$list->reverse();
$list->toArray(); // =>[3, 2, 1]
ListInterface ListInterface::countValue(mixed $value)
<?php
$list = new Phlist(1, 2, 3, 4, 2, 5);
$list->countValue(5); // => 1
$list->countValue(2); // => 2
ListInterface ListInterface::extend(ListInterface $list)
<?php
$listA = new Phlist('a', 'b');
$listB = new Phlist('c', 'd');
$listA->extend($listB);
$listA->toArray() // => ['a', 'b', 'c', 'd'];