🎉 I'm releasing 12 products in 12 months! If you love product, checkout my new blog workingoutloud.dev

Back to home

PHP Linked List

    This expects an installation on the system of phpunit.

    Test File

    Create linked_list_test.php:

    <?php require "linked-list.php"; class LinkedListTest extends PHPUnit\Framework\TestCase { public function testInsertFirst() { $n1 = new Node(1); $n2 = new Node(2); $ll = new LinkedList($n1); $ll->insertFirst($n2); $this->assertEquals($ll->size, 2); } public function testGetFirst() { $n1 = new Node(1); $n2 = new Node(2); $ll = new LinkedList($n1); $ll->insertFirst($n2); $this->assertEquals($ll->size, 2); $this->assertEquals($ll->getFirst(), $n2); } }

    Linked List

    Create linked_list.php:

    <?php class LinkedList { public $size = 0; public $head; function __construct($head = null) { $this->head = $head; if ($head != null) { $this->size = 1; } else { $this->size = 0; } } public function insertFirst($n) { if ($this->head != null) { $tmp = $this->head; $this->head = $n; $n->setNext($tmp); } else { $this->head = $n; } $this->size++; } public function getFirst() { return $this->head; } } class Node { private $data; private $next; function __construct($data = null) { $this->data = $data; } public function getData() { return $this->data; } public function setData($data) { $this->data = $data; } public function getNext() { return $this->next; } public function setNext($next) { $this->next = $next; } }

    Running Tests

    Change into directory and run phpunit.phar linked_list_test.php.

    Personal image

    Dennis O'Keeffe

    @dennisokeeffe92
    • Melbourne, Australia

    Hi, I am a professional Software Engineer. Formerly of Culture Amp, UsabilityHub, Present Company and NightGuru.
    I am currently working on Visibuild.

    1,200+ PEOPLE ALREADY JOINED ❤️️

    Get fresh posts + news direct to your inbox.

    No spam. We only send you relevant content.

    PHP Linked List

    Introduction

    Share this post