Sprintf - ආකෘතිගත තන්තුවක් ආපසු ලබා දෙයි. PHP හි ආකෘති ප්‍රතිදාන ක්‍රියාකාරකම් ධාවන වේලාවේදී PHP කේතය වෙනස් කිරීම

10.08.2022

තන්තුවක්, විචල්‍ය අගයක් හෝ ප්‍රකාශනයක් මුද්‍රණය කරයි.
වාක්‍ය ඛණ්ඩ:

මුද්‍රණය (string arg)

print() ශ්‍රිතය මගින් arg තර්කය මුද්‍රණය කරයි, එය විචල්‍යයක් හෝ ප්‍රකාශනයක් විය හැක.

vsprintf()

ආකෘතිගත තන්තුවක් ආපසු ලබා දෙයි (PHP 4 >= 4.1.0, PHP 5)

විස්තර:

String vsprintf (තන්තු ආකෘතිය, array args)

මෙම ශ්‍රිතය sprintf() ට සමාන වේ, නමුත් එය විචල්‍ය තර්ක ගණනකට වඩා අරාවක් ගනී.

අගයන් එකක් හෝ කිහිපයක් මුද්‍රණය කරයි.
වාක්‍ය ඛණ්ඩ:

Echo(string arg1, string ...)

echo() ශ්‍රිතය ලැයිස්තුගත පරාමිතිවල අගයන් පෙන්වයි.
echo() යනු සැබවින්ම භාෂා නිර්මිතයකි, එබැවින් බහු තර්ක භාවිතා කළද එයට වරහන් අවශ්‍ය නොවේ.
echo "කේතයේ ඇති රේඛීය බිඳීම් සුරකින අතර ප්‍රතිදානයේ භාවිතා වේ."
"මෙම භාවිතය වළක්වා ගැනීමට."
"සම්බන්ධ කිරීමේ ක්රියාකරු";

ෆෝමැට් කළ තන්තුව ප්‍රතිදානය කරන්න.
වාක්‍ය ඛණ්ඩ:

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

sprintf() ලෙස එකම දේ කරයි, ප්‍රතිඵලයක් ලෙස ලැබෙන තන්තුව පමණක් ආපසු ලබා නොදේ, නමුත් පරිශීලකයාගේ බ්‍රවුසරයට යවනු ලැබේ.

විචල්‍ය ආදේශනය සමඟ තන්තු හැඩතල ගැන්වීම සිදු කරයි.
වාක්‍ය ඛණ්ඩ:

Sprintf($ආකෘතිය [,args, ...])

මෙම ශ්‍රිතය සමහර විශේෂ අක්ෂර අඩංගු ආකෘති තන්තුවකින් සාදන ලද තන්තුවක් ආපසු ලබා දෙන අතර එය පසුව තර්ක ලැයිස්තුවේ අනුරූප විචල්‍යවල අගයන් මගින් ප්‍රතිස්ථාපනය වේ.
$ආකෘතියේ හැඩතල තන්තුවෙහි % අක්ෂරයකින් පෙර හැඩතල ගැන්වීමේ විධාන ඇතුළත් විය හැක.
අනෙක් සියලුම අක්ෂර ප්‍රතිදාන තන්තුවට පිටපත් කර ඇත. එක් එක් ආකෘති නියමය (එනම්, % අක්ෂරය සහ පහත දැක්වෙන විධාන) $format පරාමිතියට පසුව සඳහන් කර ඇති එක් පරාමිතියකට පමණක් ගැලපේ. ඔබට සාමාන්‍ය සංකේතයක් ලෙස පෙළෙහි % ස්ථානගත කිරීමට අවශ්‍ය නම්, ඔබ එය දෙගුණ කළ යුතුය:

Echo sprintf("ප්‍රතිශතය %d%%",$percentage);

එක් එක් ආකෘති විශේෂණයක උපරිම මූලද්‍රව්‍ය පහක් අඩංගු වේ (ඒවා % ට පසුව දිස්වන අනුපිළිවෙලට) අක්ෂරය:

ප්‍රතිදාන අගය සඳහා අනුලකුණු කීයක් වෙන් කරන්නේද යන්න සඳහන් කරන විකල්ප ක්ෂේත්‍ර ප්‍රමාණයේ නියමකය.
ස්ථාන දරණ අක්ෂර ලෙස (අගය එය සංදර්ශන කිරීමට ක්ෂේත්‍රයේ ප්‍රමාණයට වඩා කුඩා නම්)
ඉඩක් හෝ 0 භාවිතා කළ හැක, පෙරනිමිය අවකාශයකි. ඔබ එය අපෝස්ට්‍රොෆියකින් පෙරාතුව, ආකෘති තන්තුවෙහි සඳහන් කළහොත් ඔබට වෙනත් ඕනෑම පිරවුම් අක්ෂරයක් නියම කළ හැක.
ප්‍රතිඵලය ක්ෂේත්‍රයේ දකුණට හෝ වමට පෙළගස්වන්නේද යන්න සඳහන් කරන විකල්ප පෙළගැස්වීමේ විශේෂණයකි. පෙරනිමිය දකුණු පෙළගැස්ම වේ, නමුත් ඔබට - (අඩු) සංකේතය සඳහන් කිරීමෙන් වම් පෙළගැස්ම නියම කළ හැක.

අගය පෙන්වීම සඳහා ක්ෂේත්‍රයේ ප්‍රමාණය නියම කරන විකල්ප අංකයකි. ප්රතිඵලය ක්ෂේත්රයේ නොමැති නම්, එය මෙම ක්ෂේත්රයේ දාරවලින් ඔබ්බට "දිගු" වනු ඇත, නමුත් කප්පාදු නොකෙරේ.
"." කාල සීමාවකින් පෙර වෛකල්පිත අංකයක්, ප්‍රතිඵලයක් ලෙස ලැබෙන තන්තුවෙහි දශම ස්ථාන කීයක් තිබේද යන්න සඳහන් කරයි.
මෙම පිරිවිතරය සැලකිල්ලට ගනු ලබන්නේ පාවෙන ලක්ෂ්‍ය අංකයක් ප්‍රතිදානය කරන්නේ නම් පමණි, එසේ නොමැති නම් එය නොසලකා හරිනු ලැබේ.
අවසාන වශයෙන්, අවශ්‍ය (සටහන - එකම අවශ්‍යතාවය!) ප්‍රතිදාන තන්තුවෙහි තබන අගයේ වර්ගය නියම කරන්න:

b - ලැයිස්තුවේ ඊළඟ තර්කය වන්නේ ද්විමය නිඛිලයක් ලෙස ප්‍රතිදානය කිරීමයි
c - තර්කයේ දක්වා ඇති කේතය සහිත සංකේතය දර්ශනය වේ
d - පූර්ණ සංඛ්යාව
f - පාවෙන ලක්ෂ්ය අංකය
o - අෂ්ටක පූර්ණ සංඛ්‍යාව
s - අක්ෂර මාලාව
x - කුඩා ඒවා සහිත ෂඩාස්‍ර පූර්ණ සංඛ්‍යාව a-z අකුරු
X යනු A-Z විශාල අකුරු සහිත ෂඩ් දශම පූර්ණ සංඛ්‍යාවකි

පාවෙන ලක්ෂ්‍ය සංඛ්‍යාවල නිරවද්‍යතාවය සඳහන් කරන්නේ කෙසේද යන්න මෙන්න:

$money1 = 68.75;
$money2 = 54.35;
$මුදල් = $money1 + $money2;
// echo $money "123.1" ප්‍රතිදානය කරයි...
$formatted = sprintf("%01.2f", $money);
// echo $formatted "123.10" ප්‍රතිදානය කරයි!

අවශ්‍ය ශුන්‍ය සංඛ්‍යාවට පෙර පූර්ණ සංඛ්‍යාවක් ප්‍රතිදානය කිරීමේ උදාහරණයක් මෙන්න:

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

ආකෘතියට අනුව තන්තුව අර්ථකථනය කර අගයන් විචල්‍යවලට ඇතුළත් කරයි.

වාක්‍ය ඛණ්ඩ:

මිශ්‍ර sscanf(string str, string Format [, string var1 ...])

sscanf() ශ්‍රිතය printf() ශ්‍රිතයේ ප්‍රතිවිරුද්ධයයි.

එය printf() පිරිවිතරයට සමාන ආකෘතියට අනුව string string අර්ථකථනය කරයි.

තර්ක දෙකක් පමණක් සඳහන් කළ විට, ලැබෙන අගයන් අරාවකින් ආපසු ලබා දෙනු ලැබේ.

// අනුක්‍රමික අංකය ලබා ගැනීම$serial = sscanf("SN/235-0001", "SN/%3d-%4d");
echo $serial*10000+$serial; // නිමැවුම්: 2350001
// සහ නිෂ්පාදන දිනය$ දිනය = "ජනවාරි 01 2000";
ලැයිස්තුව($මාසය, $දිනය, $වසර) = sscanf($date, "%s %d %d");
echo "දිනය: $year-".substr($month,0,3)."-$dayn";
// නිමැවුම්: 2000-ජනවාරි-01

අතිරේක විකල්ප පරාමිතීන් සඳහන් කරන විට (ඒවා යොමුවෙන් සම්මත කළ යුතුය)

ශ්‍රිතය ඔවුන්ගේ අංකය ලබා දෙයි. අගයන් නොලබන එම විචල්‍යයන් ප්‍රතිලාභ අගයෙහි සැලකිල්ලට නොගනී.

// $auth = "765tLewis Carroll" තන්තුවෙන් XML වාර්තාවක් ජනනය කරන්න;
$n = sscan($auth,"%dt%s %s", &$id, &$first, &$last);
දෝංකාරය"
$පළමු
$ අන්තිම
n";

fprintf()

විස්තර:

Int fprintf (සම්පත් හසුරුව, නූල් ආකෘතිය [, මිශ්‍ර args])

හැඩතල තන්තුව භාවිතයෙන් සාදන ලද තන්තුවක් හසුරුව යැවීමට සමත් ප්‍රවාහයට ලියයි. ආකෘති තර්කය sprintf() ශ්‍රිතයේ විස්තරයේ විස්තරාත්මකව සාකච්ඡා කෙරේ.

fprintf(): ශුන්‍ය සමග පෑඩිං


ආපසු;

fprintf($fp, "%04d-%02d-%02d", $ year, $ month, $day);
// ෆෝමැට් කළ දිනය date.txt ගොනුවට ලියයි
?>

fprintf(): මුදල් අගයන් හැඩතල ගැන්වීම

නම් (!($fp = fopen("currency.txt", "w")))
ආපසු;

$money1 = 68.75;
$money2 = 54.35;
$මුදල් = $money1 + $money2;
// echo $money "123.1" ප්‍රතිදානය කරයි;
$len = fprintf($fp, "%01.2f", $money);
// "123.10" තන්තුව currency.txt ගොනුවට ලියා ඇත

echo "$len bytes file to currency.txt";
?>

vfprintf()

ප්‍රවාහයකට ආකෘතිගත තන්තුවක් ලියයි (PHP 5)

විස්තර:

Int vfprintf (සම්පත් හසුරුව, නූල් ආකෘතිය, array args)

හැඬලයෙන් නිශ්චිතව දක්වා ඇති ප්‍රවාහ සම්පතට, ආකෘතියට අනුව සංයුති කරන ලද තන්තුවක් ලියයි. හැඩතල ගැන්වීම sprintf () ට සමාන ලෙස සිදු කෙරේ.

fprintf() ලෙසම ක්‍රියා කරයි, නමුත් විචල්‍ය තර්ක ගණනකට වඩා තර්ක මාලාවක් ගනී.

ප්‍රතිදාන තන්තුවේ දිග ආපසු ලබා දෙයි.

මෙයද බලන්න: printf(), sprintf(), sscanf(), fscanf(), vsprintf(), සහ number_format().
උදාහරණ

vfprintf(): zero-padded integers

නම් (!($fp = fopen("date.txt", "w")))
ආපසු;

vfprintf($fp, "%04d-%02d-%02d", array($ year, $month, $day));
// ආකෘතිගත ISO දිනය date.txt දක්වා ලියයි
?>

vprintf()

ආකෘතිගත තන්තුවක් ප්‍රතිදානය කරයි (PHP 4 >= 4.1.0, PHP 5)

විස්තර:

Int vprintf (string ආකෘතිය, array args)

args අරාවේ අගයන් ප්‍රතිදානය කරයි, sprintf() ශ්‍රිත ප්‍රලේඛනයේ විස්තර කර ඇති ආකෘති තර්කයට අනුව හැඩසවි ඇත.

මෙම ශ්‍රිතය printf() ට සමාන වේ, නමුත් එය විචල්‍ය තර්ක ගණනකට වඩා අරාවක් ගනී.

ප්‍රතිදාන තන්තුවේ දිග ආපසු ලබා දෙයි

number_format()

කණ්ඩායම් වෙන්වීමක් සහිත අංකයක් ආකෘතිකරණය කරයි (PHP 3, PHP 4, PHP 5)

විස්තර:

String number_format (float number [, int decimals])

string number_format (float number, int decimals, string dec_point, string දහස්_sep)

number_format() ආකෘතිගත අංකය ලබා දෙයි. ශ්‍රිතයට තර්ක එකක්, දෙකක් හෝ හතරක් ගනී (තුනක් නොවේ):

එක් තර්කයක් පමණක් සම්මත වුවහොත්, භාගික කොටසකින් තොරව සංඛ්‍යාවක් සංයුති කරනු ඇත, නමුත් 3 හි ඉලක්කම් කාණ්ඩ අතර කොමාවක් (",") සමඟ.

තර්ක දෙකක් සම්මත කළහොත්, 3 හි ඉලක්කම් කාණ්ඩ අතර කාල පරිච්ඡේද ("") සහ කොමා (",") පසු දශම වලින් සංඛ්‍යාව හැඩතල ගන්වනු ලැබේ.

විස්තාරක හතරම සම්මත වුවහොත්, කාල සීමාවෙන් පසුව දශම සංඛ්‍යාවෙන් සහ 3 හි ඉලක්කම් කාණ්ඩ අතර බෙදුම්කරුවෙකු සමඟ සංඛ්‍යාව හැඩතල ගන්වනු ලැබේ, dec_point දශම ලක්ෂ්‍යය ලෙස සහ දහස්_sep කණ්ඩායම් බෙදුම්කරු ලෙස භාවිතා කරයි.

දහස්_සැප් රේඛාවේ පළමු අක්ෂරය පමණක් භාවිතා වේ. උදාහරණයක් ලෙස, ඔබ අංක 1000 සංයුති කිරීමට දහස්_සැප් ලෙස foo සමත් වුවහොත්, number_format() 1f000 ලබා දෙයි.

number_format() භාවිතා කිරීමේ උදාහරණය

ප්‍රංශයේ, කණ්ඩායම් බෙදුම්කරුවෙකු ලෙස දශම ස්ථාන 2ක් (",") සහ අවකාශයක් (" ") භාවිතා කිරීම සාමාන්‍ය දෙයකි. මෙම හැඩතල ගැන්වීම පහත කේතය භාවිතයෙන් ලබා ගනී:

$ අංකය = 1234.56;

// ඉංග්‍රීසි ආකෘතිය (පෙරනිමිය)
$english_format_number = number_format($number);
// 1,234

// ප්රංශ ආකෘතිය
$nombre_format_francais = number_format($number, 2, ",", " ");
// 1 234,56

$ අංකය = 1234.5678;

// කණ්ඩායම් බෙදුම්කරුවන් නොමැතිව ඉංග්‍රීසි ආකෘතිය
$english_format_number = number_format($number, 2, ".", "");
// 1234.57

PHP sprintf ශ්‍රිතය මඟින් ඔබට තර්ක ගණනාවක් තනි අක්ෂර තන්තුවක් බවට පරිවර්තනය කිරීමට සහ ගැළපීමට ඉඩ සලසයි. හැඩතල ගැන්වීමේ නියමයන් ඔබට අක්ෂර, නූල්, පූර්ණ සංඛ්‍යා සහ තාත්වික සංඛ්‍යා සමඟ වැඩ කිරීමට ඉඩ සලසයි.

වගු තොරතුරු හැඩතල ගැන්වීම සහ සැකිලි නිර්මාණය කිරීම සඳහා කාර්යය භාවිතා කරයි. කිසියම් ව්‍යුහයක් තුළ මූලාශ්‍ර දත්ත ප්‍රාථමික විධිමත් කිරීම, ඒවායේ අන්තර්ගතය හෝ අනුපිළිවෙල වෙනස් කිරීම සඳහා එය භාවිතා කළ හැක.

PHP sprintf() ශ්‍රිත වාක්‍ය ඛණ්ඩය

ශ්‍රිතයේ ප්‍රතිඵලය නිශ්චිත දත්ත, ශ්‍රිත පරාමිති වලින් යම් අනුක්‍රමයකින් සාදන ලද අක්ෂර මාලාවකි:

  • ආකෘති තන්තුව;
  • තර්ක ලැයිස්තුව.

හැඩතල ගැන්වීම සඳහා, ඔබට HTML ටැග් ඇතුළු ඕනෑම නිර්මාණයක් සහ තර්කයක් භාවිතා කළ හැක. ස්ප්‍රින්ට්එෆ් භාවිතය සම්බන්ධයෙන් සීමාවන් නොමැති වුවද, PHP අත්පොත මගින් සංඛ්‍යාත්මක තොරතුරු වෙත පරිවර්තන පිරිවිතරයන් අර්ථ දක්වයි.

ආකෘති මූලද්‍රව්‍යය % අක්ෂරයකින් ආරම්භ වන අතර සුදුසුකම් සහිත අක්ෂරයකින් අවසන් වේ. බොහෝ හැඩතල ගැන්වීමේ හැකියාවන් සංඛ්‍යාත්මක තොරතුරු ප්‍රදේශය තුළ පවතී. සංඛ්‍යාවක් ද්විමය සහ ෂඩ් දශම ආකෘති වලට පරිවර්තනය කිරීමේ හැකියාව ඉතා ප්‍රායෝගිකයි. මෙහිදී PHP හි ඇති sprintf ශ්‍රිතය වෙනුවට ආදේශකයක් ලිවීම කිසිසේත්ම වටින්නේ නැත.

ඉහත උදාහරණයෙන් විස්තාරක නම් කිරීම සහ x විශේෂණය X වෙතින් වෙන්කර හඳුනා ගැනීම සඳහා වන රීති උද්දීපනය කරයි. නිවැරදි ප්‍රතිඵලය සඳහා ෆෝමැට් කර ඇති තර්ක අනුපිළිවෙලට යොමු කිරීම් නිවැරදිව භාවිතා කිරීම වැදගත් වේ. අංකනය සැමවිටම 1 සිට ආරම්භ වේ.

සබැඳි භාවිතා කරන අනුපිළිවෙල වැදගත් නොවේ, නමුත් මතක තබා ගැනීම වැදගත්ය: PHP sprintf ශ්‍රිතය සාමාන්‍ය ලැයිස්තුවේ සියලුම % මූලද්‍රව්‍ය (තර්ක අංකය සඳහන් නොකර) අනුපිළිවෙලින් සලකා බලයි. නිශ්චිත පරාමිති අංක සමඟ සඳහන් කර ඇති % මූලද්‍රව්‍යවල අංකයට හෝ අනුක්‍රමයට සාමාන්‍ය ලැයිස්තුවේ අංක කිරීම සමඟ කිසිදු සම්බන්ධයක් නැත.

PHP හි sprintf භාවිතා කිරීමේ උදාහරණයක් විස්තර කිරීම

තර්කය තන්තුවක් ලෙස කළමනාකරණය කිරීමට සෘජුවම නොහැකි නම්, ආකෘති තන්තුව කළමනාකරණය කිරීම සහ ප්‍රතිඵල තන්තුවට ඩිජිටල් තොරතුරු ප්‍රතිදානය කිරීම ගැටළුවක් නොවේ.

උදාහරණයේ පළමු පේළි දෙකෙහි (Arg1, Arg2c සහ Arg2p යන තර්කවල ප්‍රතිදානය), පළමු තර්කය - තන්තුව (ස්ථානයේ නම) ප්‍රතිදානය වන පරිදි වේ. තුන්වන තර්කය නිමැවුමේ අක්ෂර 12 (14) ක් ගනී. පළමු පේළිය අක්ෂර 12 ක සම්පූර්ණ දිග සඳහා බිංදු සමඟ වම් පස ඇති අංකය සාධාරණීකරණය කරයි. තිතට පසුව අක්ෂර හතරක් ඇත. දෙවන පේළිය දකුණට ඇති අංකය (භාගික කොටස) අක්ෂර 14 දක්වා සාධාරණීකරණය කරයි. ඔබ දකුණට පෙළගැස්විය යුතු බවට ලකුණක් වන්නේ - සංකේතයයි.

ආකෘති තන්තුව යනු සාමාන්‍ය අක්ෂර මාලාවකි. ඔබට ගණනය කළ ප්‍රකාශන එයට ඇතුළත් කළ හැකිය. මෙම අවස්ථාවේදී, වෙනත් අංකයක් උද්දීපනය කිරීමට ඇතුළත් කිරීම් ($cL) සහ ($cR) භාවිතා වේ. මෙමගින් ආකෘති තන්තුව වඩාත් පැහැදිලි සහ සියලු උදාහරණ ලිවීමට පහසු විය.

ආකෘති තන්තුවක් උත්පාදනය කිරීම

රුසියානු භාෂාවෙන් PHP හි කාර්යය, හෝ sprintf ශ්රිතය, ස්වභාවික සහ පහසු පරිසරයක් තුළ පරිවර්තකයාගේ කාර්යය වේ. ඇත්ත වශයෙන්ම, PHP කේත ඇතුළත් කිරීම් සහිත HTML පිටුවක් ඕනෑම භාෂාවක ඕනෑම සන්දර්භයක් නියෝජනය කරයි. මෙය JavaScript බ්‍රවුසර පරිසරයක ලබා දෙන නිදහස නොවේ.

PHP හි රුසියානු අන්තර්ගතය ප්‍රතිදානය කිරීමට, ඔබට සිරිලික් සංකේතනය කිරීමට අවශ්‍ය නැත, නමුත් සමහර විට ඔබට iconv() පරිවර්තන ශ්‍රිතය භාවිතා කිරීමට සිදුවේ. ඕනෑම අවස්ථාවක, සෑම දෙයක්ම ප්රවේශ විය හැකි සහ කියවිය හැකි ය.

HTML පිටුවකට PHP කේතය ඇතුළත් කිරීමේ පාඨය පැහැදිලි සහ අදාළ වේ. අක්ෂර මාලාවේ භාවිතය:

විචල්‍ය අගය ABC=($ABC) ඒකක

ඇතුළත් කිරීම ($ABC) එක් වරක් පමණක් වැදගත් වන අතර ක්‍රියාත්මක වන්නේ එක් වරක් පමණි.

පිටුවක PHP කේතය ක්‍රියාත්මක කිරීමේ විශේෂාංග

පරිවර්තක එක් වරක් පමණිපිටුව නරඹයි සහ එක් වරක් පමණිඇතුළත් කිරීම් ($ABC) ඒවායේ අගයන් සමඟ ප්‍රතිස්ථාපනය කරයි. ක්‍රමලේඛකයාට ඔහුගේ අභිමතය පරිදි වාක්‍ය ඛණ්ඩය භාවිතා කළ හැක "එක වරක්",අපේක්ෂිත ප්‍රතිඵලය වෙත නැවත නැවතත් ප්‍රවේශ වීමට PHP හට බල කිරීම.

ඕනෑම අවස්ථාවක, HTML පිටුව බ්‍රව්සරයට යැවූ පසු, එහි PHP කේතයක් නොමැත.

බ්‍රවුසරයේ පිටු මූලද්‍රව්‍යයක් සේවාදායකය සමඟ සම්බන්ධතාවක් ආරම්භ කරන්නේ නම්, එයට නව PHP ස්ක්‍රිප්ට් එකක් දියත් කළ හැක. මෙහි ඇතුළත් කිරීම් ($ABC) ඉතා සාපේක්ෂ වන අතර නිවැරදි ප්රතිඵලය පිළිබඳ සහතිකයක් නොමැත. නමුත් PHP හි sprintf භාවිතා කිරීම එවැනි හැකියාවක ගතිකත්වයයි.

සංවර්ධකයාට එවැනි ඇතුළත් කිරීමක් අපේක්ෂිත ක්‍රියාත්මක කිරීම පමණක් නොව, එය අපේක්ෂිත අගය මාරු කරන රේඛාව වෙනස් කළ හැකිය.

අන්තර්ගතය ගොඩනැගීමේ මොහොත

HTML පිටුවකට ඇතුළු කිරීම් උත්පාදනය කිරීමේ මාධ්‍යයක් ලෙස PHP හි විභවය භාවිතා කිරීම, සම්පූර්ණ පිටුවම ජනනය කිරීමේ මෙවලමක් ලෙස ස්වාභාවිකය. මෙතනින් තමයි site එක පටන් ගන්නේ. පිටුව සෑදූ වහාම සහ අමුත්තෙකු ඇත්ත වශයෙන්ම වෙබ් අඩවියට පැමිණෙන විට, නවීන අදහස් අනුව:

  • පිටුව වෙනස් කළ නොහැක;
  • පරිශීලකයා මග හැරේ එකමඑය තහනම්ය.

ඇත්ත වශයෙන්ම, ආගන්තුකයා වෙබ් අඩවියට පැමිණි අතර HTML කේතයේ ස්වරූපයෙන් පළමු ප්රතිචාරය ලැබුණි. මෙම පිළිතුර වෙනස් කිරීම සම්පූර්ණයෙන්ම වැරදියි - එයින් අදහස් වන්නේ පිටුව එය වෙනස් කරන බව අමුත්තන්ට පැවසීමයි. නමුත් පිටුව අමුත්තන්ගේ ක්රියාවන්ට ප්රමාණවත් ලෙස සහ ඔහුගේ මුලපිරීම මත ප්රතිචාර දැක්විය යුතුය.

අමුත්තන්ගේ පැමිණීම පළමු ප්රතිචාරයයි. ආගන්තුක ක්‍රියාව යනු පිටුවේ ප්‍රමාණවත් ප්‍රතික්‍රියාවක් වන අතර අමුත්තන්ගේ අපේක්ෂිත සියලු ක්‍රියා සඳහා එහි සූදානමයි.

අමුත්තන්ගේ මූලිකත්වයෙන් පිටුවේ ගතිකත්වය සඳහා වගකීමෙන් සැලකිය යුතු කොටසක් JavaScript මත වැටේ, නමුත් එය බ්‍රවුසරයේ පමණක් ක්‍රියාත්මක වන අතර AJAX ඉල්ලීම් සේවාදායකයට පමණක් යැවිය හැක. සේවාදායකයට ලැබෙන සෑම ඇමතුමකටම PHP ස්ක්‍රිප්ට් එකක් දියත් කළ හැක. නමුත් පිටුව සෑදීමේ මොහොත සහ ඉල්ලීමකට ප්රතිචාර දැක්වීමේ මොහොත සැලකිය යුතු ලෙස වෙනස් වේ.

PHP sprintf ශ්‍රිතය ප්‍රතිචාර අච්චුවක් ගතිකව ජනනය කිරීමට සහ එය අපේක්ෂිත අගයෙන් පිරවීම සඳහා කදිම මෙවලමකි.

ධාවන වේලාවේදී PHP කේතය වෙනස් කිරීම

කේත ගතිකත්වය පිළිබඳ අදහස පළමු ක්‍රමලේඛන භාෂාව සමඟ උපත ලැබූ අතර අද සෑම නවීන ක්‍රමලේඛන භාෂාවකම පවතී.

eval (කේත රේඛාව) හරහා කේතය ක්‍රියාත්මක කිරීම අද ආරක්ෂක සිදුරක් ලෙස සැලකේ, නමුත් එය භයානක මෙන්ම ජනප්‍රියයි.

ධාවන වේලාවේදී කේතය වෙනස් කිරීමට, ඔබට අද eval() ශ්‍රිතය භාවිතා කිරීමට අවශ්‍ය නොවේ. මෙය ඉක්මන් උදෑසන ආහාරය, අපේක්ෂිත ගතිකත්වය ගොඩනැගීම සඳහා ප්‍රායෝගික පදනමක් වෙනුවට විධාන එකක් හෝ දෙකක් ක්‍රියාත්මක කිරීමකි.

PHP sprintf() ශ්‍රිතය මඟින් ඔබට ස්ක්‍රිප්ට් අච්චුවක් සැලසුම් කිරීමට ඉඩ සලසයි, උදාහරණයක් ලෙස, කිසියම් අමුත්තන්ගේ ක්‍රියාවක් සිදු වූ විට එය හඳුන්වනු ලබන වස්තු කේතයකි. ස්වාධීන ලිපිගොනු ස්වරූපයෙන් වස්තූන්ගේ සිරුරු පටිගත කිරීමේ ස්ථාපිත භාවිතය වෙබ් අඩවියේ ක්‍රියාකාරිත්වය අතරතුර ඒවා වෙනස් කිරීම සඳහා කදිම විසඳුමකි.

Sprintf () හි ක්‍රියාකාරීත්වයට අනුපූරක වන මෙවලම් භාවිතා කිරීමෙන් ඔබට යම් අමුත්තෙකුගේ ක්‍රියාවන්හි ප්‍රති result ලයක් ලෙස භාවිතා කරන වස්තූන් වෙනස් කිරීමට පමණක් නොව, වෙනත් අමුත්තන් සමඟ වැඩ කිරීමට මෙම ගතිකතාවය මාරු කිරීමටද ඉඩ සලසයි: මෙය වෙබ් අඩවියේ සංවර්ධනයයි, එහි ක්රියාකාරිත්වයේ ගතිකත්වය, වැඩ පළපුරුද්ද සහ දැනුම සමුච්චය කිරීම.

C හි සම්මත කොන්සෝල ප්‍රතිදාන ශ්‍රිතය printf වේ. එහි විස්තරය stdio.h ශීර්ෂ ගොනුවේ අඩංගු වේ. මෙම කාර්යය භාවිතා කරමින්, ඔබට කොන්සෝලයට දත්ත හෝ පරිශීලක පණිවිඩ ප්‍රතිදානය කළ හැක. C භාෂාව සිද්ධි සංවේදී වේ. උදාහරණයක් ලෙස, printf සහ scanf යන ශ්‍රිත දෙක ඒවායේ සමාන ශ්‍රිත වන Printf සහ Scanf වලින් වෙනස් වේ. printf සහ scanf ශ්‍රිතවල සියලුම අක්ෂර කුඩා අකුරින් ලිවිය යුතුය. හුරුපුරුදු හෙලෝ වර්ල්ඩ් ආචාරය මුද්‍රණය කරන C printf හි සරලම උදාහරණවලින් එකක් වන්නේ:

"stdio.h" ගොනුවේ printf කණ්ඩායම් කාර්යයන් නිර්වචනය කිරීම

"stdio.h" ගොනුව C භාෂාවේ සම්මත ආදාන/ප්‍රතිදාන පුස්තකාලයට යොමු කරයි. printf සහ ඒ හා සමාන කාර්යයන් පිළිබඳ විස්තරය එහි පහත පරිදි දක්වා ඇත:

ලැයිස්තුගත ශ්‍රිත යම් ස්ථාන වලින් දත්ත පූරණය කරයි, ඒවා අක්ෂර තන්තුවක් බවට පරිවර්තනය කරයි, සහ ඒවා නිශ්චිත ප්‍රතිදාන ප්‍රවාහ වෙත යවයි.

ශ්‍රිතවල printf පවුල

දත්ත ප්‍රතිදානය සම්මත ප්‍රවාහයට සැකසීමට සහ හැඩතල ගැන්වීමට C භාෂාවේ ඇති printf කණ්ඩායම් ක්‍රියාකාරකම් භාවිතා වේ. එපමනක් නොව, printf සහ vprintf ශ්‍රිතයන් සම්මත stdout ප්‍රවාහයට ලියයි, fprintf සහ vfprintf ශ්‍රිත මඟින් ප්‍රතිදාන තර්ක වල අගයන් යම් නිශ්චිත ප්‍රතිදාන ප්‍රවාහයකට යවයි, සහ snprintf, sprintf, vsnprintf සහ vsprintf දත්ත අක්ෂර මාලාවකට ලියයි. ලැයිස්තුගත කර ඇති සියලුම කාර්යයන් ප්‍රතිදානය සඳහා අවශ්‍ය තර්ක පරිවර්තන සඳහන් කරන ආකෘති තන්තුවක් භාවිතයෙන් ක්‍රියාත්මක වේ.

fprintf ශ්‍රිතය ප්‍රතිඵලය ප්‍රතිදාන ප්‍රවාහයට ලියයි. sprintf ශ්‍රිතය ප්‍රතිඵලය බෆරයකට ප්‍රතිදානය කරයි, එය අක්ෂර තන්තුවකි. ප්‍රතිදානය කළ යුතු තන්තුව බෆර අරාවේ ප්‍රමාණය ඉක්මවන්නේ නම් ශ්‍රිතයේ හැසිරීම නිර්වචනය නොවේ.

snprintf ශ්‍රිතය, පෙර එක මෙන්, string buffer එකකට දත්ත ලියයි. bufsz (බෆර ප්‍රමාණය) ශුන්‍ය නම් මිස ප්‍රතිඵලයක් ලෙස ලැබෙන අක්ෂර තන්තුව ශුන්‍ය ලෙස අවසන් වේ. එසේ නොමැති නම්, bufsz ශුන්‍ය නම්, බෆරයට කිසිවක් ප්‍රතිදානය නොකරන අතර, බෆරයම ශුන්‍ය දර්ශකයක් විය හැක, නමුත් ප්‍රතිලාභ අගය (ලියා තිබිය යුතු බයිට් ගණන) තවමත් ගණනය කෙරේ.

printf_s ශ්‍රිතය මූලික වශයෙන් ක්‍රියා කරන්නේ එක් දෙයක් හැර, printf මෙන් ම ය. C සහ printf හි ඇති printf_s හි විස්තරයේ ප්‍රධාන වෙනස පහත දැක්වේ: printf_s ශ්‍රිතය වලංගු අක්ෂර සඳහා ආකෘති තන්තුව පරීක්ෂා කරයි, printf මෙන් නොව, ශුන්‍ය දර්ශකයක් සඳහා ආකෘති තන්තුව පමණක් පරීක්ෂා කරයි.

අපි printf ශ්‍රිතය දෙස සමීපව බලමු.

සාමාන්ය විස්තරය

C හි, සම්මත ප්‍රතිදානයට අක්ෂර මුද්‍රණය කරන්නේ printf ශ්‍රිතය ඇමතීමෙන්. C හි ඇති printf විධානය මඟින් ප්‍රතිදාන දත්ත කට්ටලයක් ආකෘතිගත කර එය stdout වෙත යවයි. ශ්‍රිතයට තර්ක ලෙස සම්මත කරන ලද අගයන් නියම කරන ලද ආකෘති තන්තුවට අනුව කොන්සෝලයට ප්‍රතිදානය කරනු ලැබේ, අනෙක් අතට මූලද්‍රව්‍ය වර්ග දෙකක් අඩංගු වේ. පළමු වර්ගය තිරයේ දිස්වන අක්ෂර වන අතර දත්ත ආකෘතියේ ලක්ෂණ තීරණය කරන සහ ප්‍රතිදානය අතරතුර තර්ක ඉදිරිපත් කිරීමේ ක්‍රමයට වගකිව යුතු මූලද්‍රව්‍ය දෙවන වර්ගයට අයත් වේ.

C හි printf සමඟ විචල්‍ය ප්‍රතිදානය කරන විට, තර්ක තන්තුවෙහි අක්ෂරවල නිශ්චිත සංයෝජන එම අක්ෂර අනුව පරිවර්තනය කරන ලද දත්ත මගින් ප්‍රතිස්ථාපනය කරනු ලබන අතර, සෑම දත්ත වර්ගයකටම එහි ප්‍රතිදාන ආකෘති පිරිවිතර ඇත.

කාර්යය වර්ගය සහ ප්රතිලාභ අගය

printf ශ්‍රිතය මඟින් තිරයේ මුද්‍රණය කර ඇති අක්ෂර සංඛ්‍යාව දැක්වෙන පූර්ණ සංඛ්‍යා අගයක් ලබා දී ඇත. උදාහරණයක් ලෙස, ඔබට පැවරිය හැකිය:

int k = printf("Hello %c %d %s", "a", 11, "සියලු දෙනාම!"),

ඉන්පසු k විචල්‍යයේ අගය මඟින් ප්‍රතිදානය අතරතුර දෝෂයක් සිදු වූවාද යන්න පහසුවෙන් තීරණය කළ හැක. සෘණ අගයක් ආපසු ලබා දෙන්නේ නම් (ශ්‍රිතය "-1" ආපසු ලබා දුන්නේ නම්), එය ක්‍රියාත්මක කිරීමේදී දෝෂයක් සිදු වූ බව අපට නිගමනය කළ හැකිය.

සින්ටැක්ස් සහ පරායත්තතා

printf ශ්‍රිතය භාවිතා කිරීම සඳහා, ඔබ "stdio.h" යන ශීර්ෂ ගොනුව පහත පරිදි ඇතුළත් කළ යුතුය:

#ඇතුළත්

ශ්‍රිත අච්චුව පෙනෙන්නේ:

int printf(const char *format, ...)

ඉලිප්සිස් යනු ප්‍රතිදානය කළ යුතු තර්ක ලැයිස්තුවකි. printf ශ්‍රිතය විවිධ තර්ක සංඛ්‍යාවක් සමඟ භාවිතා කළ හැක, නමුත් පළමු එක සෑම විටම දෙපැත්තෙන්ම ද්විත්ව උද්ධෘත වලින් සීමා කරනු ලබන අතර, පසුව එන සෑම එකක්ම පෙර එකින් කොමාවකින් වෙන් කළ යුතුය. ද්විත්ව උද්ධෘත වලින් ලියා ඇති සහ ආකෘති පිරිවිතරයක් නොවන දේ වෙනස් කිරීමකින් තොරව මුද්‍රණය කරනු ලැබේ, එසේ නොමැති නම්, විශේෂිතයක් හමු වුවහොත්, එහි අගය වර්ගය පිටපත් කරනු ලැබේ.

ආකෘති පිරිවිතරයන් සඳහන් කිරීම සඳහා පෝරමය:

%[කොඩි] [පළල] [.ස්ථානය] [දිග] වර්ගය

C ප්‍රතිදාන අගයන්හි printf සමඟ හැඩතල ගැන්වීම

කැඳවන ලද ශ්‍රිතයේ නමට පසුව වරහන් තුළ දක්වා ඇති ආකෘති තන්තුව කියවිය හැක්කේ එක් දිශාවකට පමණි: වමේ සිට දකුණට, සහ මෙම රේඛාවෙන් පසුව සඳහන් කර ඇති පළමු තර්කය මුද්‍රණය කරනු ලබන්නේ පළමු පිරිවිතර හමු වුවහොත් පමණි. ආකෘති තන්තුව අවසන් වන තුරු, එහි දක්වා ඇති පිරිවිතරයන් පසුකාලීන තර්ක පරිවර්තනය කිරීම සහ මුද්‍රණය කිරීම ආරම්භ කරනු ඇත. ආකෘති තන්තුවක, අභ්‍යවකාශ අක්ෂරය සාමාන්‍ය අක්ෂරයක් ලෙස සලකනු ලබන අතර එය ආකෘති පිරිවිතර ප්‍රකාශනයක භාවිතා නොකරන විට ප්‍රතිදානය වේ.

"%" අක්ෂරය මඟින් නිමැවුම් ආකෘති පිරිවිතරයේ ආරම්භය පෙන්නුම් කරයි, පසුව ආකෘති කේතය. පිරිවිතරයේ ඇති සියලුම ක්ෂේත්‍ර හැඩතල ගැන්වීමේ කොන්දේසි නිර්වචනය කරන තනි අංක හෝ අක්ෂර වේ.

C හි ආකෘතිගත printf ප්‍රතිදානයට එහිම විශේෂතා ඇත. ලැයිස්තුගත විස්තාරක සංඛ්‍යාව ආකෘති පිරිවිතර ගණන ඉක්මවා ගියහොත්, ඒවා මඟ හැර මුද්‍රණය නොකෙරේ. එසේ නොමැති නම්, මුද්‍රණය කළ යුතු තර්ක ලැයිස්තුවේ අගයන්ට වඩා ආකෘති පිරිවිතර තිබේ නම්, ශ්‍රිත ඇමතුමේ ප්‍රතිඵලය තීරණය නොවේ.

කුමන තර්කයක් භාවිතා කළ යුතුද යන්න පැහැදිලිව දැක්වීමට, "%" වෙනුවට "%m$" සහ "*" වෙනුවට "*m$" භාවිතා කළ හැක, m සමග, පූර්ණ සංඛ්‍යා දශම අගයක්, අපේක්ෂිත තර්කයේ පිහිටීම දක්වයි. (සුචිගත කිරීම ආරම්භ වන්නේ එකකින්) .

විකල්ප

ආකෘති තන්තුවෙහි භාවිතා කරන කොඩි
ධජවිස්තර
- ප්රතිදාන ක්ෂේත්රයේ ප්රතිඵලය වමට පෙළගස්වීම
+ ලකුණක් ඇති සංඛ්‍යාත්මක අගයක් මුද්‍රණය කිරීමේදී, "+" ධන අගයට පෙර මුද්‍රණය කිරීමට බල කෙරෙයි (පෙරනිමියෙන්, සෘණ අගයට පෙර මුද්‍රණය කරනු ලබන්නේ "-" පමණි)
0 නිඛිල සහ පාවෙන ලක්ෂ්‍ය සංඛ්‍යා සඳහා, ක්ෂේත්‍ර පළල සංඛ්‍යාවේ දිගට වඩා වැඩි ලෙස සඳහන් කළ විට වම් ඉලක්කම් පිරවීම සඳහා අවකාශ අක්ෂර වෙනුවට ප්‍රමුඛ ශුන්‍ය භාවිතා වේ. නිඛිල සඳහා, නිරවද්‍යතාවය පැහැදිලිව දක්වා ඇත්නම් ධජය නොසලකා හරිනු ලැබේ. මෙම ධජය භාවිතා කරන වෙනත් පරිවර්තන සඳහා, ශ්‍රිතයේ හැසිරීම නිර්වචනය කර නොමැත. "-" ධජය තිබේ නම් "0" ධජය නොසලකා හරිනු ලැබේ
අවකාශයඅත්සන් කරන ලද ප්‍රකාශනයක ප්‍රතිදාන ප්‍රතිඵලය එම සංඥා අක්ෂරයෙන් ආරම්භ නොවන්නේ නම් හෝ හිස් නම්, ප්‍රතිඵලයට ඉඩක් එකතු වේ. "+" ධජය තිබේ නම් "අවකාශ" ධජය නොසලකා හරිනු ලැබේ
# විකල්ප ආකාරයක පරිවර්තනයක් සිදු කරනු ලැබේ

විවිධ ආකෘති පිරිවිතර

ආකෘති නියමකයprintf C සඳහා භාවිතය සහ විස්තරයතර්ක වර්ගය
% වචනාර්ථයෙන් "%" ලිවීම
cඑක් අක්ෂරයක ප්‍රතිදානය. තර්කය අත්සන් නොකළ අකුරු වර්ගයකට පරිවර්තනය වේ. "l" modifier භාවිතා කරන විට, තර්කය අක්ෂර තන්තුවක් බවට පරිවර්තනය වේඅත්සන් නොකළ අකුරු
sඅක්ෂර මාලාවක් මුද්රණය කරන්න. තර්කය char array හි ආරම්භක මූලද්‍රව්‍යයට දර්ශකයක් විය යුතුයchar *

මම
අත්සන් කරන ලද පූර්ණ සංඛ්‍යා අගයක දශම නිරූපණය මුද්‍රණය කිරීමint
oඅත්සන් නොකළ පූර්ණ සංඛ්‍යා අගයක අෂ්ටක නිරූපණය ප්‍රතිදානය කිරීමඅත්සන් නොකළ int
x
x
අත්සන් නොකළ පූර්ණ සංඛ්‍යා අගයේ ප්‍රතිදාන ෂඩාස්‍ර නිරූපණය. "x" පරිවර්තනය කිරීමට "a", "b", "c", "d", "e", "f" යන අක්ෂර භාවිතා වේ. සහ "X" - "A", "B", "C", "D", "E", "F" පරිවර්තනය කිරීමටඅත්සන් නොකළ int
uඅත්සන් කළ පූර්ණ සංඛ්‍යා අගයකින් තොරව ප්‍රතිදාන දශම පරිවර්තනය. පරිවර්තනය කරන ලද අගය සහ නිරවද්‍යතාවය යන දෙකම 0 නම්, අනුලකුණු කිසිවක් ප්‍රතිදානය නොවේඅත්සන් නොකළ int
f
එෆ්
අත්සන් කරන ලද පාවෙන ලක්ෂ්‍ය අංකයක දශම නිරූපණය මුද්‍රණය කිරීමද්විත්ව

දශම විද්‍යාත්මක අංකනය ප්‍රතිදානය කරයි, දශම ලක්ෂ්‍යයට පෙර එක් ඉලක්කමක් ඇති වන පරිදි වටකුරු සහ පරිවර්තනය කර, දශම ලක්ෂ්‍යයට පසු ඉලක්කම් සංඛ්‍යාව නිරූපණයේ නිරවද්‍යතාවයට අනුරූප වේ (පෙරනිමි නිරවද්‍යතාවය 6 වන අතර, 0 නියම කර ඇත්නම්, පසුව දශම සංකේතය කිසිසේත් ප්‍රතිදානය නොවේ). පරිවර්තනය මත පදනම්ව "e" අක්ෂරය ඉහළ හෝ කුඩා අකුරින් පෙන්වනු ලැබේද්විත්ව

පාවෙන ලක්ෂ්‍ය අංකයක ප්‍රතිදාන ෂඩාස්‍ර නිරූපණයද්විත්ව
g
ජී
අගය සහ නිරවද්‍යතාවය මත පාවෙන ලක්ෂ්‍ය අංකයක දශම නිරූපණය හෝ එහි දශම ඝාතීය නිරූපණය ප්‍රතිදානය කරන්නද්විත්ව
nprintf මගින් මුද්‍රණය කරන ලද මූලද්‍රව්‍ය ගණන ආපසු දෙන්න. ප්‍රතිඵලය ලියා ඇත්තේ තර්කය මගින් පෙන්වා දෙන විචල්‍යයටය. පිරිවිතරයේ කොඩි, ක්ෂේත්‍ර පළල හෝ නිරවද්‍යතාවය අඩංගු නොවිය හැකint *
පිපොයින්ටර් ප්‍රතිදානයහිස් *

ක්ෂේත්ර පළල වෙනස් කරන්නා

printf C හි ආකෘති රේඛාවට සියයට ලකුණට පසුව සහ ආකෘති විධානයට පෙර පූර්ණ සංඛ්‍යාවක් ලිවිය හැකිය. එය ක්ෂේත්‍ර පළල විකරණයක් වන අතර ප්‍රදර්ශනය වන දත්ත ඉදිරිපත් කිරීමට බලපායි. අගයක් සඳහා අදහස් කරන කුඩාම ක්ෂේත්‍ර පළල තීරණය කරනු ලබන්නේ මෙම සංඛ්‍යාවෙන් වන අතර, තර්කය එයට වෙන් කර ඇති ක්ෂේත්‍රයට වඩා කුඩා නම් එවැනි විකරණයක් තිබීම ප්‍රතිඵලයට හිස් හෝ ශුන්‍ය එකතු කිරීමට හේතු වේ. පෙරනිමි තැන් දරන්නා අවකාශ අක්ෂරයයි, නමුත් ඔබට පළල පිරිවිතර උපසර්ගයෙන් එය බිංදුවට සැකසිය හැක. විකරණකාරකය අවම පළලක් නියම කරන අතර, මෙම අවමයට වඩා වැඩි ඕනෑම අගයක් බාධාවකින් තොරව මුද්‍රණය කරයි. උදාහරණයක් ලෙස, අක්ෂර අටකට වඩා අඩු සංඛ්‍යාවක් සහ "%08d" පිරිවිතරයෙන් මුද්‍රණය කර ඇති සංඛ්‍යාවක් අවශ්‍ය අක්ෂර අටට ශුන්‍ය සහිතව පිරේ.

සමාන විකරණකාරකවලට නිරවද්‍ය හෝ පෙළගැස්වීමේ පරාමිතීන් ද නියම කළ හැක.

නිරවද්‍යතා විකරණකාරකය

සංඛ්‍යා නිරූපණයෙහි මුද්‍රණය කළ යුතු දශම ස්ථාන ගණන තීරණය කිරීමට නිරවද්‍ය විකරණය භාවිතා කරයි. නිරවද්‍යතා විකරණයක් එක් කිරීමට, ක්ෂේත්‍ර පළල පිරිවිතරයෙන් පසුව තිතක් තැබිය යුතු අතර ඉන් පසුව අපේක්ෂිත නිරවද්‍යතා අගය සඳහන් කරන්න. නිරවද්‍යතා විකරණය "e", "f", "a", "E", "A" සහ "F" ආකෘති සඳහා අර්ථ දක්වා ඇත. නිඛිල සඳහා, විකරණය කරන්නා විසින් ප්‍රදර්ශනය කරන ලද ඉලක්කම් ගණන සකසයි, අවශ්‍ය නම් වම් ඉලක්කමට බිංදු එකතු කරයි, සහ තාර්කික සංඛ්‍යා පෙන්වන විට, එය අවශ්‍ය දශම ස්ථාන ගණන තීරණය කරයි. තන්තු විචල්‍යයන් සඳහා, නිරවද්‍ය විකරණයේ තිතට පසුව එන අංකය ප්‍රතිදානය සඳහා උපරිම ක්ෂේත්‍ර දිග තීරණය කරයි. උදාහරණයක් ලෙස, "%4.8s" ආකෘතියේ පිරිවිතරය ලබා දී, අනුලකුණු හතරේ සිට අට දක්වා පරාසයක දිග ඇති තන්තුවක් ප්‍රතිදානය වනු ඇත; ඉක්මවා ගියහොත්, පිටතම අක්ෂර මඟ හරිනු ලැබේ.

වෙනත් ආකෘති වෙනස් කරන්නන්

පෙරනිමි පෙළගැස්ම දකුණට පෙළගස්වා ඇත, නමුත් "%" ට පසුව "-" ලකුණක් තැබීමෙන් මෙය වෙනස් කළ හැක. මෙම ආකෘති පිරිවිතරය වම් පෙළගැස්ම සකසයි.

මීට අමතරව, printf ශ්‍රිතයට මුද්‍රණය කළ යුතු කෙටි සහ දිගු ආකාරයේ පූර්ණ සංඛ්‍යා අගයන් වෙන්කර හඳුනාගත හැක. වලංගු නියමයන් වන්නේ "o", "d", "u", "i", "x", සහ "X" ය. දිගු අගය වර්ගය "l" modifier මගින් ද, කෙටි අගය වර්ගය "h" modifier මගින් ද දක්වා ඇත. උදාහරණයක් ලෙස, දිගු පූර්ණ සංඛ්‍යාවක් සහ කෙටි අත්සන් නොකළ int අගයක් ප්‍රතිදානය කරන විට, ආකෘති පිරිවිතර පිළිවෙලින් "%ld" සහ "%hu" වේ.

උදාහරණ

1. printf C හි විස්තරය සහ එක් එක් කාර්යය ඇමතීමේ ප්‍රතිඵල:

2. සරල සංවාද පණිවිඩයක් පෙන්වන්න:

printf ("පණිවිඩය");

3. වැඩසටහන් කේතය:

ආකෘති පිරිවිතරයන්ට පෙර නිශ්චිතව දක්වා ඇති ප්‍රකාශන තිරය මත මුද්‍රණය කරනු ලැබේ, ආකෘති තන්තුවට පසුව ඇති තර්ක මෙන්. ඉහත printf C ශ්‍රිත ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය, ප්‍රතිදානයේ විස්තරය:

මෙම උදාහරණය තන්තු, පූර්ණ සංඛ්‍යා විචල්‍යයන්, අක්ෂර සහ පාවෙන ලක්ෂ්‍ය සංඛ්‍යා සඳහා විවිධ ආකෘති භාවිතා කරමින් සංදර්ශකය නිරූපණය කරයි.

සම්මත ආදාන ශ්‍රිතය scanf සහ එහි භාවිතය පිළිබඳ උදාහරණ

යතුරුපුවරු ආදානය කියවීමට scanf ශ්‍රිතය භාවිතා කරයි. C හි ඇති printf සහ scanf පිළිබඳ විස්තරය "stdio.h" යන ශීර්ෂ ගොනුවේ සපයා ඇත.

scanf("ආකෘති පිරිවිතර",&value1,&value2, ...);

Scanf කාර්යය සමඟ වැඩ කිරීමේ සරල උදාහරණයක්:

#ඇතුළත්

printf("ආකෘතිය කරන්නේ කෙසේද", පරාමිතිය1, පරාමිතිය2, ...) -- ප්‍රතිඵලය තිරය මත පෙන්වයි

$result= sprintf("..", .., .., ...) - එකම දෙය, රේඛාව පමණක් ප්‍රතිදානය නොවේ, නමුත් $ ප්‍රතිඵලයේ තබා ඇත

අත්පොත පරිවර්තනයෙන් උපුටා ගැනීම ( උදාහරණපහත:-):

sprintf

sprintf -- ආකෘතිගත තන්තුවක් ලබා දෙයි
විස්තර
sprintf (කෙඳි ආකෘතිය, මිශ්ර ...);

ආකෘති තන්තුවට අනුව සැකසූ තන්තුවක් ආපසු ලබා දෙයි ආකෘතිය .

ශුන්‍ය හෝ වැඩි විධාන අඩංගු ආකෘති තන්තුවක්: සාමාන්‍ය අක්ෂර (% හැර) ප්‍රතිඵලයට සෘජුවම පිටපත් කරන ලද සහ ප්‍රතිඵලයට කෙලින්ම පිටපත් කරන, සහ වෙනස්කම් පිළිබඳ විස්තර, එක් එක් විශේෂිත ක්රියා සිදු කරයි. මෙය ද අදාළ වේ sprintf()සහ වෙත printf()

සෑම වෙනස් කිරීමේ ප්‍රකාශයක්ම අනුපිළිවෙලින් පහත සඳහන් අංග වලින් සමන්විත වේ:

    අතිරේක පිරවුම් නියමකය, නිවැරදි තන්තු ප්‍රමාණයට ප්‍රතිඵලය පෑඩ් කිරීමට කුමන අක්ෂර භාවිතා කරන්නේ දැයි කියයි. මේවා හිස් හෝ 0 (ශුන්‍ය අක්ෂර) විය හැක. පෙරනිමියෙන් එය හිස්තැන් වලින් පිරී ඇත. විකල්ප පිරවුම් අක්ෂරයක් තනි උද්ධෘතයකින් (") සඳහන් කළ හැක. පහත උදාහරණ බලන්න.

    අතිරේක පෙළගැස්වීමේ විස්තරය, එහි ප්‍රතිඵලය වමට හෝ දකුණට පෙළ ගැසිය යුතු බව කියයි. පෙරනිමියෙන්, පෙළගැස්ම දකුණට පෙළගස්වා ඇත; - චරිතය වම් පෙළගැස්ම ඇති කරයි.

    අතිරේක පළල නියමකය, මෙම ප්‍රතිස්ථාපනය කළ හැකි අක්ෂර ගණන (අවම) කියයි.

    අතිරේක නිරවද්‍ය විස්තරය, පාවෙන ලක්ෂ්‍ය සංඛ්‍යා සඳහා දශම ස්ථාන කීයක් පෙන්විය යුතු දැයි කියයි. මෙම විස්තරය ද්විත්ව හැර වෙනත් වර්ග වලට බලපෑමක් නැත. (අංක හැඩතල ගැන්වීම සඳහා තවත් ප්රයෝජනවත් කාර්යයක් වේ number_format() .)

  1. ටයිප් specifier, තර්කයේ දත්ත වර්ගය සැලකිය යුතු ආකාරය කියයි. හැකි වර්ග:

    % යනු සියයට සංකේතයයි. තර්කයක් අවශ්‍ය නැත.
    b - තර්කය පූර්ණ සංඛ්‍යාවක් ලෙස සලකනු ලබන අතර ද්විමය සංඛ්‍යාවක් ලෙස නිරූපණය කෙරේ.
    c - තර්කය පූර්ණ සංඛ්‍යාවක් ලෙස සලකනු ලබන අතර ASCII අගයක් සහිත අක්ෂරයක් ලෙස නිරූපණය කෙරේ.
    d - තර්කය පූර්ණ සංඛ්‍යාවක් ලෙස සලකනු ලබන අතර දශම සංඛ්‍යාවක් ලෙස නිරූපණය කෙරේ.
    f - තර්කය ද්විත්ව ලෙස සලකනු ලබන අතර පාවෙන ලක්ෂ්‍ය අංකයක් ලෙස නිරූපණය කෙරේ.
    o - තර්කය පූර්ණ සංඛ්‍යාවක් ලෙස සලකනු ලබන අතර අෂ්ටක සංඛ්‍යාවක් ලෙස නිරූපණය කෙරේ.
    s - තර්කය අර්ථ නිරූපණය කර තන්තුවක් ලෙස නිරූපණය කෙරේ.
    x - තර්කය පූර්ණ සංඛ්‍යාවක් ලෙස සලකනු ලබන අතර ෂඩාස්‍ර දශම සංඛ්‍යාවක් ලෙස නිරූපණය කෙරේ (කුඩා අකුරු සහිත).
    X - තර්කය පූර්ණ සංඛ්‍යාවක් ලෙස සලකනු ලබන අතර ෂඩාස්‍ර දශම සංඛ්‍යාවක් ලෙසින් (ලොකු අකුරින් අකුරු සහිතව) නිරූපණය කෙරේ.
උදාහරණ

උදාහරණ 2. sprintf: මුදල් හැඩතල ගැන්වීම

$money1 = 68.75; $money2 = 54.35; $මුදල් = $money1 + $money2; // echo $money "123.1" ප්‍රතිදානය කරයි; $formatted = sprintf("%01.2f", $money); // echo $formatted "123.10" ප්‍රතිදානය කරයි

උදාහරණ

ලියා ඇති සියල්ල >>> එවැනි වරහන් අතර <<< ශ්‍රිතයේ ප්‍රතිඵලය (එනම් තිරයට ප්‍රතිදානය සඳහා උදාහරණයක්) $s="MyString"; -> පේළිය %s $f=12345.6789; -> භාගික %f $d=12345; -> නිඛිල %d 10 වැනි පද්ධතිය: 0123456789 16අංක %x 16 වැනි පද්ධතිය: 0123456789abcdef 16සංඛ්‍යා %X 16 වැනි පද්ධතිය: 0123456789ABCDEF 8සංඛ්‍යා %o 8 වැනි පද්ධතිය: 5 මුද්‍රණ 70123 පද්ධතිය අංකය : printf("%d",$ ඈ); >>> 12345<<< просто выводим 16число: printf("%X",123456789); >>>75BCD15<<< просто выводим 2число: printf("%b",$d); >>> 11000000111001 <<< просто выводим дробное число: printf("%f",$f); >>> 12345.6789 <<< дополнение чисел нулями: printf("%010d",$d); >>> 0000012345 <<< округление до 3х знаков после запятой: printf("%.3f",$f); >>> 12345.679 <<< просто выводим число + посторонний текст: printf("посторонний%dтекст",$d); >>> external12345text<<< вывод нескольких переменных - последовательное перечисление printf("%d-%f-%s",$d,$f,$s); >>> 12345-12345.678900-MyString<<< выравнивание (ширина 20 символов) по правому краю, пустоту заполняем "_": printf("%"_20s",MyString); >>> ____________MyString<<< выравнивание по левому краю, пустоту заполняем "x": printf("%-"x20s",MyString); >>> MyStringxxxxxxxxxxx<<<

වෙනත් උදාහරණ මෙහි බලන්න:

(PHP 4, PHP 5, PHP 7)

sprintf - ආකෘතිගත තන්තුවක් ආපසු ලබා දෙයි

පරාමිතීන් ලැයිස්තුව

ආකෘති තන්තුවක් ශුන්‍ය හෝ වැඩි විධාන වලින් සමන්විත වේ: සාමාන්‍ය අක්ෂර (හැර % ), ලැබෙන තන්තුවට කෙලින්ම පිටපත් කර ඇති, සහ පරිවර්තන විස්තර, ඒ සෑම එකක්ම එක් පරාමිතියකින් ප්‍රතිස්ථාපනය වේ. මෙය දෙකටම අදාළ වේ sprintf(), සහ කිරීමට printf().

සෑම පරිවර්තන විශේෂණයක්ම සියයට ලකුණකින් සමන්විත වේ ( % ), පසුව අමතර මූලද්‍රව්‍ය එකක් හෝ කිහිපයක් (ඒවා මෙහි ලැයිස්තුගත කර ඇති අනුපිළිවෙලින්):

  1. විකල්ප චරිත විස්තර කරන්නා, ලකුණ (- හෝ +) අංකයට යොදන ආකාරය දක්වයි. පෙරනිමියෙන්, අංකය සෘණ නම් ඍණ ලකුණ පමණක් භාවිතා වේ. මෙම පිරිවිතරය ධන සංඛ්‍යා ද ප්ලස් ලකුණක් පෙන්වීමට හේතු වන අතර, PHP 4.3.0 හි එකතු කරන ලදී.
  2. විකල්ප පිරවුම් නියමකය, ප්‍රතිඵලය අවශ්‍ය දිගට පැඩ් කිරීමට කුමන අක්ෂරයක් භාවිතා කරන්නේද යන්න සඳහන් කරයි. එය අවකාශයක් හෝ විය හැකිය 0 . පෙරනිමිය අවකාශයයි. තනි උද්ධෘතයක් භාවිතයෙන් විකල්ප අක්ෂරයක් නියම කළ හැක ( " ) පහත උදාහරණ බලන්න.
  3. විකල්ප පෙළගැස්වීමේ විස්තරය, වම් හෝ දකුණු පෙළගැස්ම සඳහන් කරයි. පෙරනිමියෙන් එය දකුණට පෙළගස්වා ඇත, - වම් පෙළගැස්ම සඳහා භාවිතා වේ.
  4. විකල්ප අංකය පළල නියමකය, මෙම පරිවර්තනයේ ප්‍රතිඵලයේ අඩංගු අවම අක්ෂර සංඛ්‍යාව සඳහන් කරයි.
  5. විකල්ප නිරවද්‍ය විස්තරය, පාවෙන-ලක්ෂ්‍ය සංඛ්‍යා සඳහා දශම ස්ථාන කීයක් පෙන්විය යුතුද යන්න සඳහන් කරන විකල්ප දශම තන්තුවකින් පසුව (".") කාල සීමාවක් ලෙස දක්වා ඇත. නූල් සමඟ භාවිතා කරන විට, මෙම නියමකය උපරිම අක්ෂර සීමාව සකසන කැපුම් ලක්ෂ්‍යයක් ලෙස ක්‍රියා කරයි. ඔබට තිත සහ අංකය අතර අංකය සම්පූර්ණ කිරීමට භාවිතා කරන සංකේතයද සඳහන් කළ හැක.
  6. ටයිප් specifier, තර්කයේ දත්ත වර්ගය සලකන්නේ කෙසේද යන්න සඳහන් කරයි. වලංගු වර්ග:

    • % - ප්රතිශත සංකේතය. තර්කය භාවිතා නොවේ.
    • බී- තර්කය පූර්ණ සංඛ්‍යාවක් ලෙසත් ප්‍රතිදානය ද්විමය සංඛ්‍යාවක් ලෙසත් සලකනු ලැබේ.
    • c- තර්කය පූර්ණ සංඛ්‍යාවක් ලෙස සලකනු ලබන අතර අනුරූප ASCII කේතය සහිත අක්ෂරයක් ලෙස ප්‍රතිදානය කෙරේ.
    • - තර්කය පූර්ණ සංඛ්‍යාවක් ලෙස සලකනු ලබන අතර ප්‍රතිදානය අත්සන් කරන ලද දශම සංඛ්‍යාවක් ලෙස සලකනු ලැබේ.
    • - තර්කය විද්‍යාත්මක අංකනයෙහි සංඛ්‍යාවක් ලෙස අර්ථ දැක්වේ (උදාහරණයක් ලෙස, 1.2e+2). නිරවද්‍යතා නියමය PHP 5.2.1 සිට දශම ස්ථාන ගණන දක්වයි. පෙර අනුවාදවල, එය සැලකිය යුතු සංඛ්‍යා ගණන (එක් අඩු ලකුණක්) පෙන්නුම් කළේය.
    • - සමාන %e, නමුත් ලොකු අකුරක් භාවිතා කරයි (උදාහරණයක් ලෙස, 1.2E+2).
    • f- තර්කය පාවෙන ලක්ෂ්‍ය අංකයක් ලෙස සලකනු ලබන අතර එය ප්‍රදේශය මත පදනම්ව ප්‍රතිදානය වේ.
    • එෆ්- තර්කය පාවෙන ලක්ෂ්‍ය අංකයක් ලෙස සලකනු ලබන අතර එය ප්‍රතිදානය ද වේ, නමුත් පෙදෙසිය මත රඳා නොපවතී. PHP 4.3.10 සහ PHP 5.0.3 සිට ලබා ගත හැක.
    • g %eසහ %f.
    • ජී- කෙටිම ප්‍රවේශය තෝරා ගනී %Eසහ %f.
    • o- තර්කය පූර්ණ සංඛ්‍යාවක් ලෙසත් ප්‍රතිදානය අෂ්ටක සංඛ්‍යාවක් ලෙසත් සලකනු ලැබේ.
    • s- තර්කය තන්තුවක් ලෙස සලකනු ලැබේ.
    • u- තර්කය පූර්ණ සංඛ්‍යාවක් ලෙසත් ප්‍රතිදානය අත්සන් නොකළ දශම සංඛ්‍යාවක් ලෙසත් සලකනු ලැබේ.
    • x- තර්කය පූර්ණ සංඛ්‍යාවක් ලෙස සලකනු ලබන අතර ප්‍රතිදානය ෂඩාස්‍ර දශම සංඛ්‍යාවක් (කුඩා අකුරු) ලෙස සලකනු ලැබේ.
    • x- තර්කය පූර්ණ සංඛ්‍යාවක් ලෙස සලකනු ලබන අතර ප්‍රතිදානය ෂඩාස්‍ර දශම සංඛ්‍යාවක් ලෙස (ලොකු අකුරින්) සලකනු ලැබේ.

විචල්‍යයන් විශේෂණය සඳහා සුදුසු වර්ගයට පරිවර්තනය කරනු ඇත:

වර්ගය හැසිරවීම
ටයිප් කරන්න පිරිවිතරය
නූල් s
පූර්ණ සංඛ්යාව , u, c, o, x, x, බී
ද්විත්ව g, ජී, , , f, එෆ්

අවධානය

අක්ෂරයකට බයිට් එකකට වඩා වැඩි ගණනක් අවශ්‍ය වන කේතීකරණ සමඟ නූල් සහ පළල නිරූපක සංයෝගයක් භාවිතා කිරීමට උත්සාහ කිරීම අනපේක්ෂිත ප්‍රතිඵල ඇති කළ හැකිය.

ආකෘති තන්තුව අංක කිරීම සහ පරාමිති නැවත සකස් කිරීම සඳහා සහය දක්වයි. උදාහරණ වශයෙන්:

උදාහරණ #1 පරාමිති අනුපිළිවෙල වෙනස් කිරීම

$num = 5 ;
$location = "ගස" ;

$ආකෘතිය = "%d වඳුරන් %s මත වාඩි වී සිටිති";

?>

මෙම කේතය "ගසක් මත වාඩි වී සිටින වඳුරන් 5" ප්‍රතිදානය කරයි. දැන් සිතන්න, ආකෘති තන්තුව වෙනම ගොනුවක අඩංගු වන අතර, එය වෙනත් භාෂාවකට පරිවර්තනය කරනු ඇත, අපි එය මෙසේ නැවත ලියන්නෙමු:

උදාහරණ #2 පරාමිති අනුපිළිවෙල වෙනස් කිරීම

$ආකෘතිය = "%s මත වඳුරන් %d වාඩි වී සිටිති";
echo sprintf ($ ආකෘතිය, $num, $location);
?>

ගැටළුවක් ඇත: පරිවර්තන පිරිවිතරවල අනුපිළිවෙල තර්කවල අනුපිළිවෙලට නොගැලපේ. අපට කේතය වෙනස් කිරීමට අවශ්‍ය නැති අතර, කුමන පරිවර්තන නියමයට අනුරූප වන්නේ කුමන තර්කයද යන්න සඳහන් කළ යුතුය.

උදාහරණ #3 පරාමිති අනුපිළිවෙල වෙනස් කිරීම

$ආකෘතිය = "%2$s හි වඳුරන් %1$dක් වාඩි වී සිටිති";
echo sprintf ($ ආකෘතිය, $num, $location);
?>

තර්ක අංකනයට තවත් ප්‍රයෝජනයක් ඇත: ශ්‍රිතයට අමතර පරාමිති ලබා නොදී එකම තර්කය කිහිප වතාවක් මුද්‍රණය කිරීමට එය ඔබට ඉඩ සලසයි.

උදාහරණ #4 පරාමිති අනුපිළිවෙල වෙනස් කිරීම

$ආකෘතිය = "වඳුරන් %1$dක් %2$s හි වාඩි වී සිටිති.
%2$s වඳුරන් %1$dක් මත වාඩි වී සිටීම සතුටක්."
;
echo sprintf ($ ආකෘතිය, $num, $location);
?>

පරාමිති අනුපිළිවෙල වෙනස් කරන විට පිහිටීම විස්තර කරන්නා n$සියයට ලකුණට පසු වහාම පැමිණිය යුතුය ( % ) පහත උදාහරණයේ පෙන්වා ඇති පරිදි අනෙකුත් සියලුම විස්තර වලට පෙර.

උදාහරණ #5 අනුපූරක චරිතයක් නියම කිරීම

echo sprintf ("%".9d\n" , 123 );
echo sprintf ("%".09d\n" , 123 );
?>

123 000000123

උදාහරණ #6 ස්ථාන නියමකය භාවිතා කිරීම සහ අනෙකුත් විස්තර කරන්නන් සමඟ ඒකාබද්ධව

$ආකෘතිය = "%1$04d වඳුරන් %2$s හි වාඩි වී සිටිති";
echo sprintf ($ ආකෘතිය, $num, $location);
?>

මෙම උදාහරණය ක්රියාත්මක කිරීමේ ප්රතිඵලය:

වඳුරන් 0005 ක් ගසක වාඩි වී සිටිති

අදහස් දක්වන්න:

ට වඩා වැඩි ස්ථාන නියමයක් භාවිතා කිරීමට උත්සාහ කරන ලදී PHP_INT_MAX, කාර්යය අනතුරු ඇඟවීමක් ජනනය කිරීමට හේතු වනු ඇත sprintf() .

අවධානය

එම c type specifier පිරවුම සහ පළල නොසලකා හරියි

අගයන් ආපසු දෙන්න

ආකෘතියට අනුව හැඩගස්වා ඇති තන්තුවක් ආපසු ලබා දෙයි.

උදාහරණ

උදාහරණ #7 sprintf(): බිංදු සමඟ පිරවුම

$n = 43951789 ;
$u = - 43951789 ;
$c = 65 ; // ASCII 65 යනු "A" වේ

// ද්විත්ව%% තනි "%" ලෙස ප්‍රතිදානය වන බව සලකන්න
printf ("%%b = "%b"\n" , $n ); // ද්විමය නිරූපණය
printf ("%%c = "%c"\n" , $c ); // chr() ශ්‍රිතයට සමාන ascii අක්ෂරයක් මුද්‍රණය කරයි
printf ("%%d = "%d"\n" , $n ); // සාමාන්‍ය පූර්ණ සංඛ්‍යාව
printf ("%%e = "%e"\n" , $n ); // විද්‍යාත්මක අංකනය
printf ("%%u = "%u"\n" , $n ); // ධන අංකයක අත්සන් නොකළ පූර්ණ සංඛ්‍යා නිරූපණය
printf ("%%u = "%u"\n" , $u ); // සෘණ අංකයක අත්සන් නොකළ පූර්ණ සංඛ්‍යා නිරූපණය
printf ("%%f = "%f"\n" , $n ); // පාවෙන ලක්ෂ්‍ය අංකයක නිරූපණය
printf ("%%o = "%o"\n" , $n ); // අෂ්ටක නිරූපණය
printf ("%%s = "%s"\n" , $n ); // රේඛාව
printf ("%%x = "%x"\n" , $n ); // ෂඩ් දශම නිරූපණය (කුඩා අකුරු)
printf ("%%X = "%X"\n" , $n ); // ෂඩ් දශම නිරූපණය (ඉහළ අකුරු)

Printf ("%%+d = "%+d"\n" , $n ); // ධන නිඛිලයක් සහිත ලකුණු විස්තරකය
printf ("%%+d = "%+d"\n" , $u ); // සෘණ නිඛිල සහිත ලකුණු විස්තරකය
?>

මෙම උදාහරණය ක්රියාත්මක කිරීමේ ප්රතිඵලය:

%b = "10100111101010011010101101" %c = "A" %d = "43951789" %e = "4.39518e+7" %u = "43951789" %u = "425101150 = "425100155 "2475232 55 "%s = "43951789" %x = "29ea6ad" %X = "29EA6AD" %+d = "+43951789" %+d = "-43951789"

උදාහරණ #8 printf(): තන්තු විස්තර කරන්නන්

$s = "වඳුරා" ;
$t = "බොහෝ වඳුරන්" ;

Printf("[%s]\n" , $s ); // සාමාන්‍ය රේඛා ප්‍රතිදානය
printf ("[%10s]\n" , $s ); // අවකාශය සමඟ දකුණට පෙළගස්වන්න
printf ("[%-10s]\n" , $s ); // අවකාශයන් සමඟ වම් පෙළගැස්ම
printf ("[%010s]\n" , $s ); // zero padding ද strings සමඟ ක්‍රියා කරයි
printf ("[%"#10s]\n" , $s ); // ඔබේම අනුපූරක "#" අක්ෂරය භාවිතා කරන්න
printf ("[%10.10s]\n" , $t ); // අක්ෂර 10 ක කප්පාදුවකින් වම් පෙළගැස්ම
?>