PHP Anagrams

Published: Aug 2, 2018

Last updated: Aug 2, 2018

This expects an installation on the system of phpunit.

Test File

Create anagrams_test.php:

<?php require "anagrams.php"; class AnagramsTest extends PHPUnit\Framework\TestCase { public function testAnagramsBasic() { $a = "tokyo"; $b = "kyoto"; $this->assertEquals(true, anagrams($a,$b)); } public function testAnagramsWithCapitals() { // $this->markTestSkipped('Skipped.'); $a = "Tokyo"; $b = "kyoto"; $this->assertEquals(true, anagrams($a,$b)); } public function testAnagramsWithPunctuation() { // $this->markTestSkipped('Skipped.'); $a = "To 35k 2@4yo"; $b = "kYoTo223!!"; $this->assertEquals(true, anagrams($a,$b)); } }

Anagrams

Create anagrams.php:

<?php function anagrams($a, $b) { $regA = preg_replace("/[^a-z]/i", "", $a); $regB = preg_replace("/[^a-z]/i", "", $b); $regA = strtolower($regA); $splitA = str_split($regA); sort($splitA); $regB = strtolower($regB); $splitB = str_split($regB); sort($splitB); $resA = implode("", $splitA); $resB = implode("", $splitB); return $resA == $resB; }

Running Tests

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

Personal image

Dennis O'Keeffe

Byron Bay, Australia

Share this post

Recommended articles

Dennis O'Keeffe

2020-present Dennis O'Keeffe.

All Rights Reserved.