Loader

metaphone

Calculates the metaphone key of str.

Similar to soundex() metaphone creates the same key for similar sounding words. It's more accurate than soundex() as it knows the basic rules of English pronunciation. The metaphone generated keys are of variable length. Test metaphone online.

string metaphone ( string $str [, int $phonemes = 0 ] )

PHP Documentation by the PHP Documentation Group

metaphone

(PHP 4, PHP 5, PHP 7, PHP 8)

metaphoneCalculate the metaphone key of a string

Description

metaphone ( string $string , int $max_phonemes = 0 ) : string

Calculates the metaphone key of string.

Similar to soundex() metaphone creates the same key for similar sounding words. It's more accurate than soundex() as it knows the basic rules of English pronunciation. The metaphone generated keys are of variable length.

Metaphone was developed by Lawrence Philips <lphilips at verity dot com>. It is described in ["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995].

Parameters

string

The input string.

max_phonemes

This parameter restricts the returned metaphone key to max_phonemes characters in length. However, the resulting phonemes are always transcribed completely, so the resulting string length may be slightly longer than max_phonemes. The default value of 0 means no restriction.

Return Values

Returns the metaphone key as a string.

Changelog

Version Description
8.0.0 The function returned false on failure.

Examples

Example #1 metaphone() basic example

<?php
var_dump
(metaphone('programming'));
var_dump(metaphone('programmer'));
?>

The above example will output:

string(7) "PRKRMNK"
string(6) "PRKRMR"

Example #2 Using the max_phonemes parameter

<?php
var_dump
(metaphone('programming'5));
var_dump(metaphone('programmer'5));
?>

The above example will output:

string(5) "PRKRM"
string(5) "PRKRM"

Example #3 Using the max_phonemes parameter

In this example, metaphone() is advised to produce a string of five characters, but that would require to split the final phoneme ('x' is supposed to be transcribed to 'KS'), so the function returns a string with six characters.

<?php
var_dump
(metaphone('Asterix'5));
?>

The above example will output:

string(6) "ASTRKS"

PHP Documentation

Copyright © 1997 - 2016 by the PHP Documentation Group. This material may be distributed only subject to the terms and conditions set forth in the Creative Commons Attribution 3.0 License or later. A copy of the Creative Commons Attribution 3.0 license is distributed with this manual. The latest version is presently available at » http://creativecommons.org/licenses/by/3.0/.