compact, extract ใน PHP

ปกติส่งตัวแปรหลายๆ ตัวข้าม function ใน PHP ผมจะสร้าง array แล้วโยนไปโยนมาครับ

เมื่อคืนเกิดสงสัยว่ามันจะมีอะไรเจ๋งๆ ช่วยเรามั้ยน๊า ไปเปิด PHP Doc ดูก็เจอ compact กับ extract ครับ

ไม่พูดพร่ำทำเพรงให้เยิ่นเย้อ… ดูตัวอย่างโค้ดเลยดีกว่า

function get_something()
{
    $id = 10;
    $foo = "bar";
    return compact('id', 'foo');
}

extract(get_something());
echo $id;              // ได้ผลลัพธ์เป็น 10
echo $foo;            // ได้ผลลัพธ์เป็น bar

อธิบายสั้นๆ

compact – สร้าง array จากตัวแปรที่กำหนด ในตัวอย่างจะได้ array ที่มีเนื้อหาดังนี้

(
   'id' => ค่าที่อยู่ในตัวแปร $id, 
   'foo' => ค่าที่อยู่ในตัวแปร $foo    
)

extract – ทำตรงกันข้ามกับ compact (ขี้เกียจเขียนล่ะ 555)

4 คิดบน “compact, extract ใน PHP

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s