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);
?>
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Кодирование и декодирование. Часть Восьмая.
13-01-2015
<< Предыдущая статья | Следующая статья >> |
PHP. Кодирование и декодирование. Часть Седьмая. | PHP. Кодирование и декодирование. Часть Девятая. |