Set, Map ใน PHP

เวลาเขียนโปรแกรมเกี่ยวกับโครงสร้างพวก set กับ map ในจาวา จะมกลุ่มของคลาส เรียกรวมๆ กันว่า collection ให้ เวลาจะใช้ set ก็สร้างวัตถุ set ขึ้นมาเลย จะปวดหัวหน่อยก็แค่ ประเภทของ set กับ map ในจาวาที่มีหลากหลายเหลือเกิน (คนเอาไปสร้างต่อเยอะแยะไปหมด ทั้งจาก apache หรือของ sun เอง) แต่ใช้จริงๆ ก็ไม่กี่คลาสแถม method ก็เหมือนกัน

แต่ใน php ตัวโครงสร้างพวกนี้ดันอยู่ใน array ซะหมด เพราะ array ของ php ดันประหลาด(จริงๆ ก็ไม่ประหลาดหรอก ภาษาแบบ php แทบจะมีเหมือนกันหมด) สามารถเป็น set กับ map ได้เลยโดยไม่ต้องพึ่งพาใคร เช่น


$array['map_key'] = 'map_value';
$array['set_value'] = 'set_value';

แค่ทำตามด้านบนก็ได้ set กับ map มาใช้แล้ว แต่พวก operation ต่างๆของ set กับ map หละ(จริงๆ map ก็คือ set อ่ะนะที่ค่าใน set ชี้ออกไปอีกที่หนึ่งเท่านั้นเอง) อย่างพวก intersect หรือ union อะไรทำนองนี้ ถ้าเป็นภาษา python หรือ ruby ก็คงทำอะไรประมาณเอาตัวแปรมาบวก ลบกันได้เลย แต่ php ดันทำไม่ได้นี่สิ เมื่อวานเลยลองขุดๆ ดูปรากฏว่า php มี function เตรียมไว้ให้พร้อมแล้ว สำหรับการทำงานเกี่ยวกับ set ต่างๆ มีทั้ง intersect, union, different, … อะไรต่างๆ มากมาย ดูได้จากหน้านี้ http://th2.php.net/manual/en/ref.array.php
ดูไปแล้วอาจจะไม่เท่เหมือน python แต่แค่มีให้ใช้ก็ดีหละนะ (เขียนเองเอา for loop ไล่หาแล้วสร้างใหม่แน่เลย :lol: )



Comments

  1. pF ;) March 11th

    Comment Arrow

    เชยจัง เขามี rewrite ด้วย

    http://th2.php.net/array


  2. llun March 12th

    Comment Arrow

    :shock: sun ไม่เห็นมีอย่างนี้บ้างเลย


Add Yours

  • Author Avatar

    YOU


Comment Arrow



About Author

llun

Apple addict programmer