Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ฟังก์ชัน unpack() ใน PHP

ฟังก์ชัน unpack() ใช้สำหรับแปรกข้อมูลจากสตริงไบนารี (binary string) ตามรูปแบบที่กำหนด

รูปแบบการใช้งาน (Syntax)

unpack(format, data)

พารามิเตอร์ (Parameters)

  • format − รูปแบบที่จะใช้ในการแปรกข้อมูล ค่าที่เป็นไปได้มีดังนี้:

    • a − สตริงที่เติมด้วย NUL

    • A − สตริงที่เติมด้วยช่องว่าง (SPACE)

    • h − สตริงเฮกซาเดซิมัล เริ่มจาก nibble ต่ำ (low nibble first)

    • H − สตริงเฮกซาเดซิมัล เริ่มจาก nibble สูง (high nibble first)

    • c − signed char

    • C − unsigned char

    • s − signed short (16 บิตเสมอ, byte order ขึ้นกับเครื่อง)

    • S − unsigned short (16 บิตเสมอ, byte order ขึ้นกับเครื่อง)

    • n − unsigned short (16 บิตเสมอ, big endian)

    • v − unsigned short (16 บิตเสมอ, little endian)

    • i − signed integer (ขนาดและ byte order ขึ้นกับเครื่อง)

    • I − unsigned integer (ขนาดและ byte order ขึ้นกับเครื่อง)

    • l − signed long (32 บิตเสมอ, byte order ขึ้นกับเครื่อง)

    • L − unsigned long (32 บิตเสมอ, byte order ขึ้นกับเครื่อง)

    • N − unsigned long (32 บิตเสมอ, big endian)

    • V − unsigned long (32 บิตเสมอ, little endian)

    • f − float (ขนาดและการแสดงผลขึ้นกับเครื่อง)

    • d − double (ขนาดและการแสดงผลขึ้นกับเครื่อง)

    • x − ไบต์ NUL

    • X − ย้อนกลับ 1 ไบต์

    • Z − สตริงที่เติมด้วย NUL

    • @ − เติม NUL จนถึงตำแหน่งสัมบูรณ์

  • data − ข้อมูลไบนารีที่ต้องการแปรก

ค่าที่ส่งกลับ (Return Value)

ฟังก์ชัน unpack() ส่งคืนอาเรย์เมื่อสำเร็จ หรือ false เมื่อล้มเหลว

ตัวอย่างการใช้งาน

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

ผลลัพธ์ (Output)

Array ( 
    [myint1] => 74 
    [myint2] => 97 
    [myint3] => 99 
    [myint4] => 111 
    [myint5] => 98 
)