<h1 class=p1>Заключение к главе 3</h1>
<p class=text>Ну вот мы и закончили главу о строковых функциях, чему я, честно говоря, рад, потому что она получилась достаточно большой. За бортом остались лишь функции кодирования, который официально считаются строковыми и пара-тройка функций, реального применение которым не может найти даже моя необузданная фантазия. Функции кодирования информации мы рассмотрим в разделе о криптографии, а вот по поводу той пары-тройки экзотических функций… Сначала я хотел отправить Вас к официальному руководству, но вот подумал и решил все-таки их привести. Просто, как говорится, для полноты картины.</p>
<table border="0" cellspacing="10">
    <tr valign="top">
        <td>
            <a title="Возвращает информацию о символах строки" class=bluelink href="#1">count_chars()</a>&nbsp;<br>
        </td>
        <td>
            <a class=bluelink href="#2" title="Функция вычисления хеша сходности произношения" >soundex()</a>&nbsp;<br>     
        </td>
        <td>
            <a class=bluelink href="#3" title="Производит вычисление метафон-хеша" >metaphone()</a>&nbsp;<br>               
        </td>
    </tr>
</table>
<br>

<a name=1></a>
<h1 class=p1>count_chars()</h1>
<p class=text>Возвращает информацию о символах строки.</p>
<p class=prim><b><i>Синтаксис:</i></b></p>
<blockquote><pre>
mixed <b>count_chars</b><em class=gr>(</em>string <b>str</b> [, int <b>mode</b>]<em class=gr>)</em>
</pre></blockquote>
<p class=text>Функция <b>count_chars</b>() подсчитывает частоту встречаемости каждого байта (0-255) в строке <b>str</b> и возвращает результат в массив согласно необязательному аргументу <b>mode</b>, который  может принимать следующие значения:</p>
<ul>
  <li>0 (значение по умолчанию) - массив с байтами в качестве индексов и частотой повторения в качестве значений элемента массива; </li>
  <li>1 - похож на 0, но отсутствующие в строке str байты не возвращаются; </li>
  <li>2 - похож на 0, но возвращаются только те байты, которые отсутствуют; </li>
  <li>3 - возвращается строка, состоящая из всех обнаруженных символов; </li>
  <li>4 - возвращается строка, состоящая из всех отсутствующих символов;</li>
</ul>
<br>

<a name=2></a>
<h1 class=p1>soundex()</h1>
<p class=text>Функция вычисления хеша сходности произношения.</p>
<p class=prim><b><i>Синтаксис:</i></b></p>
<blockquote><pre>
string <b>soundex</b><em class=gr>(</em>string <b>str</b><em class=gr>)</em>
</pre></blockquote>
<p class=text>Функция <b>soundex</b>() используется для проверки правописания, когда приблизительно известно как звучит слово, но не известно, как оно пишется, и имеется словарь (база данных), относительно которого можно осуществить проверку.</p>
<p class=text>Возвращается строка из 4 символов: первая буква слова и 3 цифры.</p>
<br>

<a name=2></a>
<h1 class=p1>metaphone()</h1>
<p class=text>Производит вычисление метафон-хеша.</p>
<p class=prim><b><i>Синтаксис:</i></b></p>
<blockquote><pre>
string <b>metaphone</b><em class=gr>(</em>string <b>str</b><em class=gr>)</em>
</pre></blockquote>
<p class=text>Данная функция схожа по действию с функцией <b>soundex</b>(), так как тоже вычисляет код произношения слова, переданного в строке <b>str</b>, но только с повышенной точностью вычисления, поскольку вроде как использует правила произношения английского языка.</p>

