ตัวอย่างการใช้งานฟังก์ชัน extract ของ PHP

อีักฟังก์ชันนึงที่น่าสนใจของ PHP ที่ผมพึ่งไปเจอมาจากการแกะโค้ดของ wordpress โดยฟังก์ชันนี้จะทำการสร้างตัวแปรที่สอดคล้องกับคีย์ของอาเรย์ที่เป็น argument ของฟังก์ชันนี้

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

int extract ( array $var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix ]] )

$var_array เป็นตัวแปรอาเรย์ที่ต้องการสร้างตัวแปรตามคีย์ของอาเรย์

$extract_type เป็นค่าทีี่่กำหนดว่าถ้าหากมีตัวแปรที่เหมือนกับคีย์ของอาเรย์ $var_array แล้วจะจัดการยังไงกับตัวแปรนั้นๆ ซึ่งจะมีค่าเป็นค่าใดค่าหนึ่งดังนี้

EXTR_OVERWRITE ให้กำหนดค่าแทนค่าตัวแปรนั้น
EXTR_SKIP ไม่ต้องทำอะไรกับตัวแปรที่มีอยู่แล้ว
EXTR_PREFIX_SAME กำหนดคำนำหน้าให้กับตัวแปรที่สร้างขึ้นใหม่
EXTR_PREFIX_ALL กำหนดคำนำหน้าให้กับตัวแปรที่สร้างขึ้นใหม่ทั้งหมด
EXTR_PREFIX_INVALID กำหนดคำนำหน้าให้เฉพาะคีย์ที่ไม่สามารถใช้เป็นชื่อตัวแปรได้
EXTR_IF_EXIST กำหนดค่าให้ใหม่
EXTR_PREFIX_IF_EXIST กำหนดค่าให้ใหม่ถ้าหากตัวแปรนั้นมีอยู่แล้ว
EXTR_REFS อ้างอิงตำแหน่งไปยังตัวแปรนั้น

$prefix เป็นคำนำหน้าของตัวแปรหากมีการกำหนดให้มีคำนำหน้า

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

<?php
/* Suppose that $var_array is an array returned from
 wddx_deserialize */
$size = "large";
$var_array = array("color" => "blue",
 "size"  => "medium",
 "shape" => "sphere");
extract($var_array, EXTR_PREFIX_SAME, "wddx");
echo "$color, $size, $shape, $wddx_size\n";
?>

ผลลัพธ์ที่ได้ครับ

blue, large, sphere, medium