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

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

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

intextract (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
/*Supposethat$var_arrayisanarrayreturnedfrom
 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

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>