A palindrome is a word or phrase that is identical forward o
A palindrome is a word or phrase that is identical forward or backward, such as the word “racecar.” A standard palindrome is similar to a perfect palindrome, except that spaces and punctuation are ignored in a standard palindrome. For example, “Madam, I’m Adam” is a standard palindrome because the characters are identical forward or backward, provided you remove the spaces and punctuation marks.
Write a PHP script that checks a word or a phrase (stored in a string variable) to determine if it is a standard palindrome, a perfect palindrome, or not a palindrome at all. Also, for each letter that the word/phrase contains, count and print the number of times that each consonant and vowel is encountered. Your output will look as follows:
Word/phrase: racecar
Perfect palindrome
Contains consonants:
r - 2
c - 2
Contains vowels:
a - 2
e - 1
Solution
<?php
 $word = \"racecar\"; // declare a varibale
 $wordRem = preg_replace(\"/[^a-zA-Z]/\", \"\", $word);//word after removing spacces and special characters
 $reverse = strrev($word); // reverse the word
 $vowels = array(\'a\',\'e\',\'i\',\'o\',\'u\');//all vowels in array
 if ($wordRem == $reverse){ // compare if the original word is same as the reverse of the same word
 echo \"Word/phrase: \" . $word . \"<br>\";
 echo \"Perfect palindrome\" . \"<br>\";
 }
 else{
 echo \"Word/phrase: \" . $word . \"<br>\";
 echo \"Not a palindrome\" . \"<br>\";
 }
 $wordVowel = \"\";
 $wordConsonant = \"\";
 $len = strlen($wordRem);
 for($i=0; $i<$len; $i++){
 if(in_array($wordRem[$i], $vowels))
 {
 $wordVowel .= $wordRem[$i];
 }
    else{
        $wordConsonant .= $wordRem[$i];
    }
 }
 echo \"Contains consonants:\" . \"<br>\";
 foreach (count_chars($wordConsonant, 1) as $i => $val) {
 echo chr($i) . \"-\" . $val . \"<br>\";
 }
 echo \"Contains vowels:\" . \"<br>\";
 foreach (count_chars($wordVowel, 1) as $i => $val) {
 echo chr($i) . \"-\" . $val . \"<br>\";
 }
 ?>

