PHP Program to check for Anagram


What is PHP?

PHP (Hypertext Preprocessor) is a widely used server-side scripting language for web development. It allows developers to embed code within HTML files, enabling the creation of dynamic web pages and interactions with databases. PHP is known for its simplicity, versatility, and extensive integration capabilities with popular databases. It offers a broad range of extensions and has a large community of developers, ensuring ample resources and support.

What is Anagram?

Anagrams are words or phrases formed by rearranging the letters of another word or phrase. In an anagram, all the original letters must be used exactly once, with no additional or missing letters.

Example

Consider the word "listen." By rearranging its letters, we can form the word "silent." Since both words use the same set of letters, just in a different order, "listen" and "silent" are anagrams of each other.

PHP program to check for Anagram

Using count_chars() function

count_chars() is a built-in PHP function that returns information about the character frequency in a string. It provides different modes of operation to count the occurrences of each character in the string.

Syntax

count_chars(string $string, int $return_mode = 0): mixed

Parameters

$string (required): The input string for which you want to count the characters.

$return_mode (optional): The return mode for count_chars(). It can be one of the following values:

0: Returns a string containing all the unique characters in the input string along with their frequencies. This is the default mode if $return_mode is not provided.

1: Returns an associative array where the keys are the ASCII values of the characters, and the values are the frequencies of those characters in the input string.

Return Value

  • If $return_mode is set to 0, count_chars() returns a string containing the unique characters in the input string along with their frequencies.

  • If $return_mode is set to 1, count_chars() returns an associative array where the keys are the ASCII values of the characters, and the values are the frequencies of those characters in the input string.

Example

<?php
	function is_anagram($string_1, $string_2)
	{
		if (count_chars($string_1, 1) == count_chars($string_2, 1))
			return 'yes';
		else
			return 'no';	
	}

	// Driver code
	print_r(is_anagram('stop', 'post')."
"); print_r(is_anagram('card', 'cart')."
"); ?>

Output

yes 
no

Explanation of code

The provided code defines a function is_anagram() that checks whether two strings are anagrams of each other. It compares the character frequencies of the two strings using the count_chars() function. If the character frequencies of both strings match, indicating that they contain the same set of characters, the function returns 'yes'. Otherwise, it returns 'no'. The code demonstrates the usage of the function by checking the anagram relationship between 'stop' and 'post' (not anagrams) as well as 'card' and 'cart' (anagrams), providing the corresponding results.

Conclusion

In Conclusion, The provided code implements a function called is_anagram() in PHP to check if two strings are anagrams of each other. It accomplishes this by utilizing the count_chars() function, which counts the occurrences of each character in a string and returns an associative array representing the character frequencies. The code compares the character frequencies of the two input strings using the count_chars() function with mode 1. If the character frequencies are equal, indicating that the strings contain the same characters with the same frequencies, the function returns 'yes'. Otherwise, it returns 'no'. This code offers a straightforward and efficient approach to determine whether two strings are anagrams, providing a clear and concise output of either 'yes' or 'no' based on the anagram condition.

Updated on: 01-Aug-2023

283 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements