PHP unpack() လုပ်ငန်း

သဘောတူ နှင့် အသုံးပြု

unpack() လုပ်ငန်းသည် ဘီယမ် ကို အချက်အလက် မှ ဖော်ထုတ်ပေးသည်

ပြောဉ်

unpack(format,data)
သဘောတူ ဖော်ပြ
format အကြိမ်ဖြစ်သည်။ အပူဇာ အချက်အလက် အား သတ်မှတ်ပါ
data အခွင့်ထူးမရှိသေးသည်။ အပူဇာ အချက်အလက် အား သတ်မှတ်ပါ

format သဘောတူ အရ နိုင်သော သတ်မှတ်

  • a - NUL-padded string
  • A - SPACE-padded string
  • h - Hex string, low nibble first
  • H - Hex string, high nibble first
  • c - signed char
  • C - unsigned char
  • s - signed short (အပူဇာ 16 ပုံတည်း, ကုသိုလ် ဘက် ဘက်တိုက်)
  • S - unsigned short (အပူဇာ 16 ပုံတည်း, ကုသိုလ် ဘက် ဘက်တိုက်)
  • n - unsigned short (အပူဇာ 16 ပုံတည်း, အတိုက် ဘက် ဘက်တိုက်)
  • v - unsigned short (အပူဇာ 16 ပုံတည်း, သတ်မှတ် ဘက် ဘက်တိုက်)
  • i - signed integer (ကုသိုလ် တိုက် ပုံအချင်း နှင့် ကုသိုလ် ဘက် ဘက်တိုက်)
  • I - unsigned integer (ကုသိုလ် တိုက် ပုံအချင်း နှင့် ဘက်တိုက်)
  • l - signed long (အပူဇာ 32 ပုံတည်း, ကုသိုလ် ဘက် ဘက်တိုက်)
  • L - unsigned long (အပူဇာ 32 ပုံတည်း, ကုသိုလ် ဘက် ဘက်တိုက်)
  • N - unsigned long (always 32 bit, big endian byte order)
  • V - unsigned long (always 32 bit, little endian byte order)
  • f - float (machine dependent size and representation)
  • d - double (machine dependent size and representation)
  • x - NUL byte
  • X - Back up one byte
  • @ - NUL-fill to absolute position

အမှတ်

ဘား 1

<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>

ထုတ်လုပ်ခြင်း:

Array
(
[1] => 80
[2] => 72
[3] => 80
)

ဘား 2

<?php
$data = "PHP";
print_r(unpack("C*myint",$data));
?>

ထုတ်လုပ်ခြင်း:

Array
(
[myint1] => 80
[myint2] => 72
[myint3] => 80
)

ဘား 3

<?php
$bin = pack("c2n2",0x1234,0x5678,65,66);
print_r(unpack("c2chars/n2int",$bin));
?>

ထုတ်လုပ်ခြင်း:

Array
(
[chars1] => 52
[chars2] => 120
[int1] => 65
[int2] => 66
)