PHP String soundex() Function
The PHP String soundex() function is used to calculate the Soundex key for a given string. The soundex key is a four-character alphanumeric string (beginning with a letter) that reflects the English pronunciation of a given string.
Soundex keys have the the nature of producing the same soundex key for words pronounced the same, making them useful for simplifying searches in databases when you know the pronunciation but not the spelling.
Syntax
Below is the syntax of the PHP String soundex() function −
string soundex ( string $string )
Parameters
This function accepts $string parameter which is a string to check. And it is the required parameter for this function.
Return Value
The soundex() function returns the soundex key as a four-character string. If at least one letter is found in the string, the resulting string begins with that letter. Otherwise, "0000" is returned.
PHP Version
First introduced in core PHP 4, the soundex() function continues to function easily in PHP 5, PHP 7, and PHP 8.
Example 1
Here we will show you the basic example of the PHP String soundex() function to calculate the soundex key for the given string.
<?php // Input string $word = "Example"; // Calculate the Soundex key $soundexKey = soundex($word); // Display the result echo "The Soundex key for '$word' is: $soundexKey"; ?>
Output
Here is the outcome of the following code −
The Soundex key for 'Example' is: E251
Example 2
In the below PHP code, we will use the soundex() function and calculate the Soundex keys for an array of words.
<?php
// Array of strings
$strings = ["Example", "Examine", "Output", "Echo"];
// Loop over each word and calculate its Soundex key
foreach ($strings as $word) {
echo "The Soundex key for '$word' is: " . soundex($word) . "\n";
}
?>
Output
This will generate the below output −
The Soundex key for 'Example' is: E251 The Soundex key for 'Examine' is: E255 The Soundex key for 'Output' is: O313 The Soundex key for 'Echo' is: E200
Example 3
This PHP program checks if two words sound similar by comparing their Soundex keys using the soundex() function.
<?php
// Two words to compare
$string1 = "Rupal";
$string2 = "Rupali";
// Calculate Soundex keys
$soundex1 = soundex($string1);
$soundex2 = soundex($string2);
// Check if they sound similar
if ($soundex1 === $soundex2) {
echo "'$string1' and '$string2' sound similar.\n";
} else {
echo "'$string1' and '$string2' do not sound similar.\n";
}
?>
Output
This will create the below output −
'Rupal' and 'Rupali' sound similar.
Example 4
In the following example, we are using the soundex() function to filter a list of names to find all that sound similar to a given name.
<?php
// List of Indian names
$names = ["Suresh", "Sureesh", "Saurabh", "Sunil", "Suman"];
// Name to compare
$targetName = "Suresh";
// Soundex key of the target name
$targetSoundex = soundex($targetName);
// Filter and show names with matching Soundex keys
echo "Names sounding similar to '$targetName':\n";
foreach ($names as $name) {
if (soundex($name) === $targetSoundex) {
echo "- $name\n";
}
}
?>
Output
Following is the output of the above code −
Names sounding similar to 'Suresh': - Suresh - Sureesh