PHP တွင် Serialize () function ကို PHP variable ကိုသိုလှောင်ထားသောသို့မဟုတ်လွှဲပြောင်းကြိုးများအဖြစ်ပြောင်းလဲရန်အသုံးပြုသည်။ ၎င်းကိုဒေတာများကိုဒေတာဘေ့စ်သို့သိမ်းဆည်းရန်သို့မဟုတ်ကွန်ယက်တစ်ခုသို့လွှဲပြောင်းရန်အသုံးပြုလေ့ရှိသည်။ သို့သော်လူအများစုကပြန်လာသော string သည်အလိုအလျောက်အလိုအလျောက်မဟုတ်ဘဲ Serialize () function ကိုအသုံးပြုပြီးနောက်နားလည်ရန်ခက်ခဲခြင်းသို့မဟုတ်နားလည်ရန်ခက်ခဲကြောင်းတွေ့ရှိရသည်။
Serialize () ကိုပြန်လည်ရရှိထားသော string သည် PHP အရာဝတ်ထုသို့မဟုတ်ခင်းကျင်းမှု၏မူလဖွဲ့စည်းပုံမှ encoded ဖြစ်သည်။ ဤ string သည်လူ့ဖော်ရွေပုံစံမဟုတ်ပါ, ဒါကြောင့်ရလဒ်ကတော့အဓိပ္ပါယ်မဲ့ဇာတ်ကောင်တွေအများကြီးနဲ့တူတယ်။
ဥပမာအားဖြင့်, ရိုးရှင်းသောခင်းကျင်းအတွက်:
$array = ['name' => 'Alice', 'age' => 25];
$serialized = serialize($array);
echo $serialized;
output သည်ဤကဲ့သို့သော string တစ်ခုဖြစ်နိုင်သည်။
a:2:{s:4:"name";s:5:"Alice";s:3:"age";i:25;}
PHP ကိုခွဲခြမ်းစိတ်ဖြာနိုင်သော်လည်း developer များအနေဖြင့်၎င်းကိုနားလည်ရန်အပိုအားထုတ်မှုအချို့လိုအပ်သည်။ ၎င်းတွင်အချက်အလက်အမျိုးအစားများနှင့်သော့ချက်တန်ဖိုးအတွဲများ၏အသေးစိတ်အချက်အလက်များပါ 0 င်သည်။ သို့သော်တိုက်ရိုက်ဖတ်နိုင်စွမ်းမရှိပါ။
ဒီ output string ရဲ့အစိတ်အပိုင်းတွေကိုအသေးစိတ်လေ့လာကြည့်ရအောင်။
A: 2 တွင်အတွင်းရှိဒြပ်စင်နှစ်ခုရှိသော array ကိုဆိုလိုသည်။
S: 4: "NAME" သည်အရှည် 4 ခုနှင့် "name" ၏တန်ဖိုးကိုကိုယ်စားပြုသည်။
S: 5- 5. "အဲလစ်" သည်အရှည် 5 ခုနှင့် "အဲလစ်" ၏တန်ဖိုးကိုကိုယ်စားပြုသည်။
S: 3: "အသက်အရွယ်" သည် အရှည် 3 ခုနှင့် "အသက်" ၏တန်ဖိုးနှင့်အတူ string ကိုကိုယ်စားပြုသည်။
i: 25 က 25 ရဲ့တန်ဖိုးကိုကိုယ်စားပြုတယ်။
ဤအချက်အလက်များကိုကျွန်ုပ်တို့သိသော်လည်း၎င်းသည်အလွန်ရှည်လျားပြီးမအောင်မြင်ပါ။
အချက်အလက်များကိုပိုမိုဖတ်ရှုနိုင်သည့်ပုံစံဖြင့်ဒေတာများကိုဆပ်ရန် PHP သည် varixport () function ကိုထောက်ပံ့ပေးသည်။ ၎င်းသည် variable ၏ဖွဲ့စည်းပုံကိုပြသသည်။ ဒီ output ကို serialize ထက်နားလည်ရန်ပိုမိုလွယ်ကူသည်။ ဥပမာအားဖြင့်:
$array = ['name' => 'Alice', 'age' => 25];
echo var_export($array, true);
အောက်ပါအတိုင်း output ကို:
array (
'name' => 'Alice',
'age' => 25,
)
ဤပုံစံသည်ခင်းကျင်းမှု၏အဓိကတန်ဖိုးအတွဲများကိုရှင်းရှင်းလင်းလင်းဖော်ပြပြီးနားလည်ရန်ပိုမိုလွယ်ကူစေသည်။
အကယ်. သင်သည် Serialized ဒေတာများကိုလက်ဝါးကပ်တိုင်ဘာသာစကားလိုက်ဖက်မှုနှင့်ကြည့်ရှုရန်ပိုမိုလွယ်ကူစေလိုပါက debug ည့်သည်ကိုသုံးရန် JSONS_CETDED () function ကိုသုံးနိုင်သည်။ JSON format သည်လူသားတို့ဖော်ရွေမှုမရှိရုံသာမကခေတ်သစ်အက်ပလီကေးရှင်းများတွင်ဒေတာဖလှယ်မှုတွင်ကျယ်ပြန့်စွာအသုံးပြုသည်။
$array = ['name' => 'Alice', 'age' => 25];
echo json_encode($array, JSON_PRETTY_PRINT);
အောက်ပါအတိုင်း output ကို:
{
"name": "Alice",
"age": 25
}
ဤနည်းအားဖြင့်ဒေတာများသည်ဖတ်ရန်မလွယ်ကူပါ, သို့သော်မတူညီသောပရိုဂရမ်ဘာသာစကားများသို့မဟုတ်စနစ်များအကြားအလွယ်တကူကူးစက်နိုင်သည်။
အကယ်. သင်သည်ပိုမိုရှုပ်ထွေးသောဆိုင်းငံ့ထားသည့်လုပ်ဆောင်ချက်များကိုပိုမိုလိုချင်ပါကသို့မဟုတ် serialized data format များကိုစိတ်ကြိုက်ပြုလုပ်လိုပါက third-party library ကို သုံး. စဉ်းစားနိုင်သည်။ ဥပမာအားဖြင့် Symfony Vardumper သည်ပိုမိုကောင်းမွန်သောအချက်အလက်တင်ဆက်မှုကိရိယာကိုပိုမိုကောင်းမွန်စွာဖတ်နိုင်သည်။
use Symfony\Component\VarDumper\VarDumper;
$array = ['name' => 'Alice', 'age' => 25];
VarDumper::dump($array);
ဤသည်ဖွဲ့စည်းပုံအခြေခံဥပဒေကိုဖတ်ရန်လွယ်ကူသောပုံစံချခြင်း,
PHP ၏ serialize () လုပ်ဆောင်ချက်သည်အချက်အလက်များကိုသိုလှောင်ထားနိုင်သောပုံစံသို့ပြောင်းလဲနိုင်သော်လည်းထုတ်လုပ်သောကြိုးများသည်များသောအားဖြင့်လူသားများအတွက်ဖော်ရွေမှုမရှိပါ။ ဤပြ problem နာကိုဖြေရှင်းရန်အောက်ပါနည်းလမ်းများကိုသုံးနိုင်သည်။
ပိုပြီးထိုးထွင်းသိမြင်နိုင်သော PHP ကုဒ် format ကို output လုပ်ရန် var_export () ကို သုံးပါ။
JSONDode () ကို သုံးရန် JSONTode ကိုသုံးရန်,
ပိုမိုရင်းနှီးဖော်ရွေသော Debug ထုတ်လုပ်မှုထုတ်လုပ်ရန် Symfony Vardoumper ကဲ့သို့သောတတိယပါတီစာကြည့်တိုက်များကိုအသုံးပြုပါ။
ဤနည်းလမ်းများမှတဆင့်ဒေတာ display method သည် developer များ၏လိုအပ်ချက်နှင့်အညီပိုမိုများပြားကြောင်းသေချာစေနိုင်သည်။