Palindrome in php

  • Sumo

What is Palindrome?

A palindrome is a word, phrase, number, or sequence of characters which reads the same in either direction. The words A and I are the simplest and smallest palindromes. Few of the most commonly used are :-
RACECAR LEVEL CIVIC POP MADAM EYE NUN RADAR

The word palindrome is derived from the Greek palíndromos, meaning running back again (palín = AGAIN + drom–, drameîn = RUN).

Words like LIVE and STRAW (which read EVIL and WARTS backwards) are not themselves palindromes but the phrases LIVE EVIL and STRAW WARTS are. A palindrome is not necessarily a single word.

While creating palindrome, it is usually accepted that punctuation and word spacings are ignored, and so the famous MADAM, I’M ADAM is a valid palindrome.

Here are a few good ones:

    Do geese see God?
    Murder for a jar of red rum.
    Some men interpret nine memos.
    Never odd or even.

palindrome
A famous palindrome “Able was I ere I saw Elba” purportedly spoken by Napoleon, referring to his first sighting of Elba, the island where the British exiled him.

How to verify a word is palindrome ?

Find given string is palindrome or not in PHP using native strrev() function

<?php
$word = 'madam';  // declare a varibale
echo 'String: <b>' . $word . '</b>';
$reverse = strrev($word); // reverse the word
if ($word == $reverse) // compare if the original word is same as the reverse of it
echo ' is a palindrome';
else
echo ' is not a palindrome';
?>

Find given string is palindrome or not in PHP without using strrev() function

<?php
$mystring = 'madam'; // set the string
echo 'String: <b>' . $mystring . '</b>';
$myArray = array(); // initialize an array
$myArray = str_split($mystring); //split into array
$len = sizeof($myArray); // get the size of array
$newString = '';
for ( $i = $len; $i >= 0; $i-- ) {
$newString .= $myArray[$i];
}
if ( $mystring == $newString ) {
echo ' is a palindrome';
} else {
echo ' is not a palindrome';
}
?>

Leave a Reply

Your email address will not be published. Required fields are marked *