Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
7-lekciya.docx
Скачиваний:
1
Добавлен:
27.11.2023
Размер:
370.89 Кб
Скачать

4.9. Formatlı shıǵarıw funkciyası

printf(format [, args])

sprintf(format [,args])

Bul funkciyalar haqqında bizler aldińǵı kórgen qatarlar menen islesetuǵın funkciyalargá qaraǵanda keńlew sóylesemiz. Aldınnan aytamız, bul eki funkciyalar formatlı shıǵarıwǵa arnalǵan hám printf() funkciyasi kiristi formatlaydı hám shiǵıwshı aǵımǵa shıgaradı (brauzer yamasa konsolge), al sprintf() bolsa kiristi formatlaǵannan keyin tek qatardı nátiyje qılıp qaytaradı.

Bir jaqtan bul funkciyalardan tek shıǵarıwshı funkciyalarday paydalansaq boladı:

<?php

printf("Hello!"); // "Hello!"ni shıǵaradı

sprintf("Hello!"); // óz-ózi menen, hesh nárse shıǵarmaydi, tek qatardı qaytaradı

$str = sprintf("Hello!");

printf($str); //onı keyin aǵımǵa shıǵarıwımız múmkin

?>

Biraq tap házir paydalanǵanimizday paydalanıw – ápiwayı israpkerlshilik, sebebi bul funkciyalar basqada kóp wazıypalardı atqaradı. Bul funkciyalardıń format argumenti arnawlı belgilerden ibarat qatar bolıp, argumentlerdiń dizimindegi berilgenlerdi format qılıwda paydalanadı. Bul arnawlı belgilerdi qayta ózgeriw specifikatorı dep aytıladı, al qatarlardı format qılǵanda ózgerizsiz qalǵan belgilerdi direktivler dep aytıladı.

Specifikaciya "%" belgisi arqalı ańlatıladı, izinen 5 specifikator izbe-izlikte beriliwi múmkin:

1. Toltiriwshı specifikatori

Qatardıń berilgen ólshemine deyin tolıwına belgi ornatiladı. Ádette probel qollanıladı.Toltırıwshı specifikator eń kishi en specifikator kórsetilse ámelge asırıladı.

2. Tegislewshi specifikator

Ádette qatardı eń kishi enge deyin toltırıw shep jaqtan baslanadı (yaǵnıy qatar oń jaqqa tegislenedi). Eger defis belgisi qosılsa, qatar shep jaqqa tegislenedi.

3. Eń kishi en specifikatori

Formatlanǵan qatarǵa talap etilgen ólshemniń pútin sanın kórsetedi. Eger berilgen qatar qısqa bolsa, onda toltırıw specifikatorındaǵı belgiler menen toltırıladı.

4. Anıqliq specifikatori

Qaldiqli sanlardı kórsetkende onlıq sanlardıń sanin kórsetiw ushın kerek. Bul specifikatordi qatardı formatlawǵa qollanılǵanda, berilgen qatardan kerek belgilerdiń sanın anıqlaydi.

5. Tip specifikatori

Bul specifikator argument esabında berilgenlerdiń tipin kórsetiwge arnalǵan. Specifikator tómendegi mánislerdiń birin qabıl etiwi múmkin:

  • b – ekilik túrinde kórsetiletuǵın pútin san;

  • c – belgi túrinde jáne ASCII kodı menen kórsetiletuǵın pútin san;

  • d – onlıq túrinde kórsetiletuǵın pútin san;

  • f – onlıq túrindegi kórsetiletuǵın qaldıqlı san;

  • o – segizlik túrinde kórsetiletuǵın pútin san;

  • s – qatar;

  • x – on altılıq túrinde tómengi registirde kórsetiletuǵın pútin san;

  • X – on altılıq túrde joqarǵi registirde kórsetiletuǵın pútin san;

Endi printf() funkciyası járdeminde qatardı dd/mm/yyyy sáne formatında shıǵaramız. Keyingi kod qatar nátiyjesinde "02/03/2003" shıǵaradı:

<?php

$day = 2;

$month = 3;

$year = 2003;

printf("%02d/%02d/%04d", $day, $month, $year);

?>

Nátiyje:

Bul mısalda biz kún hám aydi eki xanalı san etip formatlaymız, al jıldı bolsa – tórt xanalı sanday. Sol menen birge biz pútin sanlardı shep jaqtan minimal enine shekem noller menen toltıramiz: %04d .

Birinshi belgi bul toltırıwshı specifikator hám ol nolge teń. Toltırıwshı belgiler sannıń basına jaziladı, sol sebepli teńlestirıwshı specifikator joq. Eń kishi enniń specifikatori ekige teń. Anıqlıq specifikatorıda kórsetilmegen, sebebi biz pútin sandı formatlaymız. Tip specifikatorı d belgisi menen ańlatılǵan, sebebi biz sandı onlıq pútin qılıp formatlaymız.

Jáne bir mısal keltiremiz:

<?php

$value = 19;

printf("%.3f", $value);

?>

Bul skript 19 di 19.000 kóriniste shıǵarıp beredi.

Соседние файлы в предмете Программирование для Web