lucid/phlist

collection modelled after python's list data type.

v1.0.0 2016-11-12 21:14 UTC

This package is not auto-updated.

Last update: 2024-04-27 17:26:26 UTC


README

Author Source Code Software License

Build Status Code Coverage

Requirements

php >= 7.0master

Installation

$ composer require lucid/phlist

Phlist class

The Phlist class implements a ListInterface and is modelled after pythons list.

<?php

use Lucid\Phlist\Phlist;

$list = new Phlist('foo', 'bar', ...);

ListInterface API

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'];