PHP တွင် VFPrintf နှင့် Sprintf တို့သည် string formating အတွက်အရေးကြီးသောလုပ်ဆောင်ချက်များဖြစ်သည်။ သို့သော်သူတို့၏အသုံးပြုမှုသည်အနည်းငယ်ကွဲပြားသည်။ ကျိုးကြောင်းဆီလျော်စွာပေါင်းစပ်ထားသောပေါင်းစပ်မှုသည်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိသောအချက်အလက်များကိုကြိုတင်သတ်မှတ်ထားခြင်းနှင့် output ကိုပြုလုပ်နိုင်သည်။ ဤဆောင်းပါးသည်သင်၏အခြေခံအသုံးပြုမှုကိုမိတ်ဆက်ပေးပြီးသင်၏ကုဒ်၏ဖတ်နိုင်မှုနှင့်ထိန်းသိမ်းခြင်းကိုတိုးတက်စေရန်ဤလုပ်ဆောင်မှုနှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုပြသမည်။
Sprintf သည် format ချထားသော string ကိုပြန်ပို့ရန်အသုံးပြုသည်။ မျက်နှာပြင်သို့တိုက်ရိုက်ထွက်ပေါ်လာမည်မဟုတ်ပါ။ ဥပမာအားဖြင့်:
<Code> $ အမည် = "အဲလစ်", $ Message = Sprintf ("ဟဲလို,% s!), $ နာမ, ECHO $ မက်ဆေ့ခ်ျ, // output: မင်္ဂလာပါအဲလစ်! </ code>Sprintf သည်ဒေတာများကိုကြိုတင်မသုံးရန်နှင့်လွယ်ကူသောလုပ်ထုံးလုပ်နည်းများအတွက်လိုအပ်သောပုံစံဖြင့်ကြိုးကြိုးများကိုထုတ်လုပ်ရန်အလွန်သင့်လျော်သည်။
finprintf နှင့်ဆင်တူသော VFPrintp functrints များသည် parameter list တစ်ခုအဖြစ် array တစ်ခုကိုလက်ခံသည်။ ၎င်းသည်ကျွန်ုပ်တို့အား variable များကိုဗဟိုမှ 0 င်ရောက်ပြီးယူနီဖောင်းဖြင့်ဖြတ်သန်းရန်ခွင့်ပြုသည်။
<Code> $ file = fopen ("log.txt", "W"), $ format = "အသုံးပြုသူ% s% s ကို% s \ n အပေါ်% s ကိုဝင်ရောက်; $ ဒေတာ = ["alice", "https://gitbox.net/dashboard", နေ့စွဲ ("YMD")]; vfrintprintf ($ ဖိုင်, $ format, $ ဒေတာ); fcose ($ file); // log.txt သို့စာရေးခြင်း: user alice ကို 2025-05-26 </ code> တွင် https://gitbox.net/dashboard ကိုဝင်ရောက်ခဲ့သည်VFPrintpf သည်အထူးသဖြင့်သစ်ထုတ်လုပ်ခြင်းသို့မဟုတ်ရေးသားခြင်းအခြေအနေများတွင်အသုံးပြုရန်အတွက်သင့်တော်သည်။
တခါတရံကျွန်ုပ်တို့သည်ပထမ ဦး ဆုံးအချက်အလက်များကိုအရင် format လုပ်လိုသည် (ထိုကဲ့သို့သောရက်စွဲ, string processing သို့မဟုတ် data replacement) ကို format လုပ်လိုသည်။ ဤအချိန်တွင်ကျွန်ုပ်တို့သည်အချက်အလက်များကိုကြိုတင်မသုံးရန် sprintf ကို သုံးနိုင်သည် ။
အသုံးပြုသူ Access Logs များကိုကျွန်ုပ်တို့မှတ်တမ်းတင်လိုပါကမှတ်တမ်းပုံစံမှာ -
[အချိန်] အသုံးပြုသူ xxx လည်ပတ် yyy,status ကုဒ်ဖြစ်ပါတယ် zzz
ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<code> function log_access($fileHandle, $username, $url, $statusCode) { // Step 1: Preprocess the data $timestamp = date("Ymd H:i:s"); $ formattheedurl = sprintf (https://gitbox.net/%), တိ ($ URL, "/")), // အဆင့် 2:သို့ format ချတ်ဒေတာဖြတ်သန်း vfprintf
$format = "[%s] အသုံးပြုသူ %s လည်ပတ် %s,status ကုဒ်ဖြစ်ပါတယ် %d\n";
$data = [$timestamp, $username, $formattedUrl, $statusCode];
vfprintf($fileHandle, $format, $data);
}
// အသုံးပြုမှုဥပမာ
$ logfile = fopen ("access.log", "a"),
Log_Access ($ logfile, Alice "," Dashboard ", 200),
fcose ($ logfile);
</ code>
output ကို (access.log အတွက်):
[2025-05-26 14:22:10] အသုံးပြုသူ alice လည်ပတ် https://gitbox.net/dashboard,status ကုဒ်ဖြစ်ပါတယ် 200
ရှင်းလင်းသောဒေတာစီးဆင်းမှု - Preprocessing Logic သည် function အတွင်း၌အာရုံစိုက်ပြီးကုဒ်ဖွဲ့စည်းပုံသည်ရှင်းလင်းသည်။
ထိန်းသိမ်းမှုထိန်းသိမ်းခြင်း ။
မြင့်မားသောပြောင်းလွယ်ပြင်လွယ် - မှတ်တမ်းများ, အစီရင်ခံစာမျိုးဆက်, သတင်းစကားတင်းပလိတ်များစသည်တို့ကဲ့သို့သောအခြေအနေမျိုးစုံတွင်အသုံးပြုနိုင်သည်။
VFPrintf ဖြင့် Sprintf ကို အသုံးပြုခြင်းသည်ပြောင်းလွယ်ပြင်လွယ်ရှိသောအချက်အလက်များကိုရှာဖွေခြင်းနှင့်ရလဒ်များကို format လုပ်ခြင်းကိုမပြုလုပ်နိုင်ပါ။ ဤပုံစံသည်အထူးသဖြင့် format strings များကို dynamically ablight လုပ်ခြင်းသို့မဟုတ် output လုပ်ရန်လိုအပ်သည့်အခြေအနေတွင်အလွန်လက်တွေ့ကျသည်။
နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤလုပ်ဆောင်ချက်နှစ်ခု၏အားသာချက်များကိုဆင်ခြင်တုံတရားဖြင့်အသုံးပြုခြင်းသည်ကုဒ်၏အရည်အသွေးကိုတိုးတက်စေရုံသာမကမိတ္တူပွားများကိုလျှော့ချပေးပြီးကြီးမားသောစီမံကိန်းများကိုထိန်းသိမ်းရန်အဆင်ပြေစေရန်လည်းအဆင်ပြေစေနိုင်သည်။