Строковые функции : Форматирование и вывод строк
print
Выводит строку, значение переменной или выражение.
Синтаксис :
print(string arg)
Функция print() выводит аргумент arg, в качестве которого может быть переменная или выражение.
Выводит строку, значение переменной или выражение.
Синтаксис :
print(string arg)
Функция print() выводит аргумент arg, в качестве которого может быть переменная или выражение.
echo
Производит вывод одного или нескольких значений.
Синтаксис :
echo(string arg1, string [argn]...)
Функция echo() выводит значения перечисленных параметров.
echo() - фактически языковая конструкция, поэтому для нее не обязательны скобки, даже если используется несколько аргументов.
Производит вывод одного или нескольких значений.
Синтаксис :
echo(string arg1, string [argn]...)
Функция echo() выводит значения перечисленных параметров.
echo() - фактически языковая конструкция, поэтому для нее не обязательны скобки, даже если используется несколько аргументов.
echo "Перенос на следующую строку, имеющийся в коде, сохраняется и используется при выводе". "чтобы избежать этого используйте". "оператор конкатенации";
printf
Вывод отформатированной строки.
Синтаксис :
int printf(string format [, mixed args, ...]);
Делает то же самое, что и sprintf(), только результирующая строка не возвращается, а направляется в браузер пользователя.
Вывод отформатированной строки.
Синтаксис :
int printf(string format [, mixed args, ...]);
Делает то же самое, что и sprintf(), только результирующая строка не возвращается, а направляется в браузер пользователя.
sprintf
Производит форматирование строки с подстановкой переменных.
Синтаксис : sprintf($format [,args, ...])
Производит форматирование строки с подстановкой переменных.
Синтаксис : sprintf($format [,args, ...])
- Эта функция возвращает строку, составленную на основе строки форматирования, содержащей некоторые
специальные символы, которые будут впоследствии заменены на значения соответствующих переменных
из списка аргументов.
- Строка форматирования $format может включать в себя команды форматирования, предваренные символом %. Все остальные символы копируются в выходную строку как есть. Каждый спецификатор формата (то есть, символ % и следующие за ним команды) соответствуют одному, и только одному параметру, указанному после параметра $format. Если же нужно поместить в текст % как обычный символ, необходимо его удвоить:
- Строка форматирования $format может включать в себя команды форматирования, предваренные символом %. Все остальные символы копируются в выходную строку как есть. Каждый спецификатор формата (то есть, символ % и следующие за ним команды) соответствуют одному, и только одному параметру, указанному после параметра $format. Если же нужно поместить в текст % как обычный символ, необходимо его удвоить:
- echo sprintf("The percentage was %d%%",$percentage);
- Каждый спецификатор формата включает максимум пять элементов (в порядке их следования после
символа %):
- Необязательный спецификатор размера поля, который указывает, сколько символов будет отведено под выводимую величину. В качестве символов-заполнителей (если значение имеет меньший размер, чем размер поля для его вывода) может использоваться пробел или 0, по умолчанию подставляется пробел. Можно задать любой другой символ-наполнитьел, если указать его в строке форматирования, предварив фпострофом.
- Опциональный спецификатор выравнивания, определяющий, будет результат выровнен по правому или по левому краю поля. По умолчанию производится выравнивание по правому краю, однако можно указать и левое выравнивание, задав символ - (минус).
- Необязательное число, определяющее размер поля для вывода величины. Если результат не будет в поле помещаться, то он &quo;вылезет" за края этого поля, но не будет усечен.
- Необязательное число, предваренное точкой ".", предписывающее, сколько знаков после запятой будет в результирующей строке. Этот спецификатор учитывается только в том случае, если происходит вывод числа с плавающей точкой, в противном случае он игнорируется.
- Наконец, обязательный (заметьте - единственный обязательный!) спецификатор типа величины, которая будет помещена в выходную строку:
- b - очередной аргумент из списка выводится как двоичное целое число
- c - выводится символ с указанным в аргументе кодом
- d - целое число
- f - число с плавающей точкой
- o - восьмеричное целое число
- s - строка символов
- x - шестнадцатиричное целое число с маленькими буквами a-z
- X - шестнадцатиричное целое число с большими буквами A-Z
- Вот как можно указать точность представления чисел с плавающей точкой:
$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(). При указании только двух аргументов полученные значения возращаются в массиве.
Производит интерпретацию строки согласно формату и занесение значений в переменные.
Синтаксис :
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)."-$day\n"; // выводит: 2000-Jan-01При указании дополнительных необязательных параметров (их следует передавать по ссылке) функция возвращает их число. Те переменные, которые не получают значений, в возвращаемом значении не учитываются.
// гененируем XML записть из строки $auth = "765\tLewis Carroll"; $n = sscan($auth,"%d\t%s %s", &$id, &$first, &$last); echo "<author id="$id"> <firstname>$first</firrstname> <surname>$last</surname> </author>\n";