string number_format(double value, integer precision, string decimal, string thousands)
Функция number_format (листинг 12.35) возвращает форматированное представление значения, заданного аргументом value, как число с запятыми, вставленными для разделения тысяч. Необязательный аргумент precision задает количество цифр после десятичной точки, которое по умолчанию равно нулю. Необязательные аргументы decimal и thousands должны использоваться вместе. Они отменяют стандартную установку использования точек и запятых для разделения как десятичных точек и разделителей тысяч.

j Листинг 12.35. Функция number_format_
<?php
$test_number = 1234 56 78 9.1234 56 78 9; // добавить точки и удалить дробную часть print(number_format($test_number) . "<br>n"); //добавить запятые и ограничить точность двумя цифрами print(number_format($test_number, 2) . "<br>n"); //форматирование, принятое в Германии
print(number_format($test_number, 2, ",", ".") . "<br>n");
?>

integer ord(string character)
Функция ord (листинг 12.36) возвращает ASCII-код первого символа аргумента character. Эта функция позволяет работать не с самими символами непосредственно, а с их ASCII-кодами, что зачастую удобнее работы с кодами и обратной косой чертой, в особенности, если вы намерены воспользоваться преимуществами порядка следования кодов в ASCII-таблице. Полная таблица ASCII-кодов приводится в приложении Б, "ASCII-коды". Для определения соответствия кодов и символов можно воспользоваться функцией chr.
Кодирование и декодирование
Кодирование и декодирование
string pack(string format, ...)
Функция pack (листинг 12.37) берет начало от одноименной функции Perl. Она позволяет сжимать данные в компактный формат, который читается на всех платформах. Коды форматирования, представленные в первом аргументе, соответствуют последующим кодам. Эти коды определяют формат хранения данных. За кодом формата может следовать необязательное число, которое является счетчиком повторений. Он определяет количество используемых последующих аргументов. Счетчик повторений также может иметь значение *, которое соответствует всем остальным аргументам. Некоторые коды форматирования используют счетчик повторений по-разному. В табл. 12.6 перечислены все коды форматирования и показано, каким образом они используют счетчики повторений. Функция возвращает строку со сжатыми данными. Заметим, что они представлены в двоичной форме, неподходящей для печатания. В следующем примере каждый байт сжатых данных распечатывается в шестнадцатеричном коде.
Кодирование и декодирование
Кодирование и декодирование
Кодирование и декодирование
Листинг 12.37. Функции pack и unpack

<?php
// создать упакованные данные
$packedData = pack("ca10n", 65, "hello", 1970); //отобразить ASCII-коды для всех символов for($i=0; $i<strlen($packedData); $i++) {
print("0x" . dechex(ord($packedData[$i])) . " ");
}
print("n");
// распаковать данные
$data = unpack("cOne/a10Two/nThree", $packedData); //отобразить все элементы распакованного массива print_r($data);

parse_str(string query, array fields)
Функция parse_str (листинг 12.38) анализирует аргумент query как GET-запрос протокола HTTP. Без необязательного аргумента fields PHP создает переменную в текущем диапазоне для каждого поля запроса. При наличии аргумента fields PHP задает массив полей.
Эту функцию можно использовать на выводе функции parse_url. 

Листинг 12.38. Функция parse_str

<?php
$query = "name=Leon&occupation=Web+Engineer"; parse_str($query, $fields); print_r($fields);
?>