Читаем Справочник по PHP полностью

Третий вариант позволяет указать функцию, используемую для расчета сложности трансформации.

Функция cost вызывается со следующими аргументами:

Вызываемая функция должна будет возвратить стоимость этой операции.

Если длина одной из строк более 255 символов, функция levenshtein() возвращает -1, но такая длина более чем достаточна.

Форматирование и вывод строк


print


Выводит строку, значение переменной или выражение.

Синтаксис:

print(string arg)

Функция print() выводит аргумент arg, в качестве которого может быть переменная или выражение.


echo


Производит вывод одного или нескольких значений.

Синтаксис:

echo(string arg1, string [argn]...)

Функция echo()

выводит значения перечисленных параметров.

echo() - фактически языковая конструкция, поэтому для нее не обязательны скобки, даже если используется несколько аргументов.

echo "Перенос на следующую строку,

имеющийся в коде, сохраняется

и используется при выводе".

"чтобы избежать этого используйте".

"оператор конкатенации";



printf


Вывод отформатированной строки.

Синтаксис:

int printf(string format [, mixed args, ...]);

Делает то же самое, что и sprintf(), только результирующая строка не возвращается, а направляется в браузер пользователя.


sprintf


Производит форматирование строки с подстановкой переменных.

Синтаксис:

sprintf($format [,args, ...])

Эта функция возвращает строку, составленную на основе строки форматирования, содержащей некоторые специальные символы, которые будут впоследствии заменены на значения соответствующих переменных из списка аргументов.

Строка форматирования $format может включать в себя команды форматирования, предваренные символом %. Все остальные символы копируются в выходную строку как есть. Каждый спецификатор формата (то есть, символ % и следующие за ним команды) соответствуют одному, и только одному параметру, указанному после параметра $format. Если же нужно поместить в текст % как обычный символ, необходимо его удвоить:

echo sprintf("The percentage was %d%%",$percentage);


Каждый спецификатор формата включает максимум пять элементов (в порядке их следования после символа %):

Вот как можно указать точность представления чисел с плавающей точкой:

$money1 = 68.75;

$money2 = 54.35;

$money = $money1 + $money2;

// echo $money выведет "123.1"...

$formatted = sprintf ("%01.2f", $money);

// echo $formatted выведет "123.10"!


Вот пример вывода целого числа, предваренного нужным количеством нулей:

$isodate=sprintf("%04d-%02d-%02d",$year,$month,$day);



sscanf


Производит интерпретацию строки согласно формату и занесение значений в переменные.

Синтаксис:

mixed sscanf(string str, string format [, string var1 ...])

Функция sscanf() является противоположностью функции printf(). Она интерпретирует строку str согласно формату format, аналогично спецификации printf(). При указании только двух аргументов полученные значения возвращаются в массиве.

// получение серийного номера

$serial = sscanf("SN/235-0001", "SN/%3d-%4d");

echo $serial[0]*10000+$serial[1]; // выводит: 2350001

// и даты изготовления

$date = "January 01 2000";

list($month, $day, $year) = sscanf($date, "%s %d %d");

echo "Дата: $year-".substr($month,0,3)."-$dayn";

// выводит: 2000-Jan-01


При указании дополнительных необязательных параметров (их следует передавать по ссылке) функция возвращает их число. Те переменные, которые не получают значений, в возвращаемом значении не учитываются.

// генерируем XML запись из строки

$auth = "765tLewis Carroll";

$n = sscan($auth,"%dt%s %s", &$id, &$first, &$last);

echo "

$first

$last

n";


Составление/разбиение строк


substr


Возвращает участок строки с определенной длиной.

Синтаксис:

string substr(string str, int start [,int length])

Возвращает участок строки str, начиная с позиции start и длиной length. Если length не задана, то подразумевается подстрока от start до конца строки str. Если start больше, чем длина строки, или же значение length равно нулю, то возвращается пустая подстрока.

Перейти на страницу:

Похожие книги