วันจันทร์ที่ 30 พฤศจิกายน พ.ศ. 2558

เทคนิคการทำStop-Motion

ถ่ายภาพ stop motion และ motion
ภาพแบบ motion จะเป็นลักษณะภาพที่สื่อถึงการเคลื่อนไหว
เช่น  รถกำลังวิ่ง คนกำลังวิ่ง คนกำลังเต้น และน้ำตก
ส่วนภาพ Stop motion ก็คือภาพที่หยุดเคลื่อนไหวของวัตถุที่กำลังเคลื่อนที่

เทคนิคแบบง่าย
1. Stop motion  ใช้สปีดในการถ่ายที่สูง เช่น 1/100s 1/200s ขึ้นไป
ทั้งนี้ขึ้นอยู่กับการเคลื่อนที่ของวัตถุด้วยนะครับว่าเร็วแค่ไหน
เช่น  คนกำลังเดินใช้สัก 1/60  หรือ คนกำลังวิ่งก็ใช้  1/200
แต่ถ้าจะถ่ายกระสุนปืนคงต้องใช้ 1/8000 ขึ้นไป
2. motion ถ่ายโดยใช้สปีดต่ำ เพื่อให้เห็นการเคลื่อนไหว
ซึ่งภาพที่ได้อาจจะดูเบลอๆ ไปบ้าง แต่ก็จะเห็นว่าดูมีการเคลื่อนไหวของวัตถุ จึงทำให้ภาพดูน่าสนใจมากขึ้น

ชุดนี้ถ่ายด้วย
Canon EOS 30D
Lens  EF-S17-55mm f/2.8 IS USM
Flash speedlite 580 ex



stop motion #1

stop motion #2
ค่าที่ใช้ถ่าย ภาพแบบ stop motionShutter Speed  1/200Sec.
Aperture Value  F3.5
ISO Speed        800
ใช้ F 3.5 เพราะยิ่งเปิดรูรับแสงกว้างยิ่งได้สปีดมากขึ้น 
ที่ไม่เปิดถึง 2.8 เพราะ เวลาที่คนเต้นจะมีการเคลื่อนไหว(เด้งหน้า-เด้งหลัง) ตลอดเวลา
ทำให้มีโอกาสหลุดโฟกัสได้ง่ายเนื่องจากระยะชัดลึก(DOF)จะน้อยลงเมื่อเปิด F กว้าง
โฟกัสหลุดภาพก็จะไม่มีความคมชัด
ISO 100 > 200 > 400 > 800  ทำให้ภาพเราสว่างเพิ่มขึ้น 4 สตอป
หน่วยความไวแสง ISO เป็นค่ามาตราฐานเดียวกันฟิลม์ครับ 
ใครรู้หลักการกล้องฟิลม์ก็ใช้พื้นฐานเดียวกันได้เลย
ทำไมไม่ใช้ ISO ถึง 1600 และ 3200
ยิ่งใช้ ISO สูงๆ สัญญาณรบกวน(noise) ก็จะมากขึ้นตามไปด้วย


motion #1


motion #2


ภาพ motion สองภาพนี้นอกจากจะใช้สปีดต่ำแล้วยังเปิดแฟลชในโหมด Second-curtain sync หรือ rear curtian sync  เพื่อให้เห็นภาพนิ่งในซ้อนกับภาพที่เบลอ ซึ่งเป็น effect พิเศษของแฟลช จะมีในกล้องดิจิตอลคอมแพคบางรุ่น และ DSLR ทุกรุ่นครับ
ค่าที่ใช้ถ่าย ภาพแบบ motion
Shutter Speed  1.8 Sec.
Aperture Value  F8
ISO Speed        800
แฟลชโหมด  Second-curtain sync หรือ rear curtian sync
..... อ่านต่อได้ที่: https://www.gotoknow.org/posts/125596

                ที่มา;https://www.gotoknow.org/posts/125596

ตัวอย่างคลิปStop-Motion


ขอบคุณคลิปจาก;https://youtu.be/7flMDbeZzXs

วิธีทำstop-Motion

ขอบคุณคลิปจาก;https://youtu.be/LyQIAKw1Yhw

แนวทางการจัดการกับปัญหาการใช้ภาษาไทยของวัยรุ่น

      แนวทางในการจัดการกับปัญหาการใช้ภาษาไทยของวัยรุ่น อาจจะต้องให้หน่วยงานที่เกี่ยวข้องเข้ามาช่วยสอดส่องดูแลอย่างสม่ำเสมอ แต่ถึงอย่างไรการจัดการกับปัญหานี้ก็ไม่ใช่หน้าที่ของหน่วยงานรัฐเพียงอย่างเดียว สิ่งที่จะช่วยจัดการกับปัญหาการใช้ภาษาไทยของวัยรุ่นได้ง่ายที่สุด คือ
สถาบันครอบครัว พ่อ แม่ ผู้ปกครอง นับว่าเป็นบุคคลใกล้ตัวและมีบทบาทสำคัญที่สุดที่จะช่วยในการแก้ปัญหา โดยควรเป็นแบบอย่างที่ดีแก่เด็กและวัยรุ่น ควรสอนให้เด็กเขียนหนังสือให้ถูกต้อง และปลูกฝังนิสัยรักการอ่านก็จะยิ่งช่วยให้เด็กคุ้นเคยกับการใช้ภาษาไทยที่ถูกต้องตั้งแต่เด็ก
     สถาบันการศึกษา ทุกสถาบันมีการเรียนการสอนภาษาไทยอยู่แล้ว ตั้งแต่ระดับอนุบาลจนถึงอุดมศึกษา โดยสถาบันในทุกระดับนั้น ควรให้ความสำคัญกับการเรียนภาษาไทยมาก
นอกจากนี้อาจต้องต้องพิจารณาหลักสูตรโดยหันมาใช้การเรียนการสอนเดิมๆ ดูบ้าง ซึ่งจะมีวิชาเขียนไทย อ่านไทย ย่อความ หรือท่องอาขยาน เพื่อให้เด็กใช้ภาษาไทยได้ถูกต้องมากขึ้น ดังที่สมเด็จพระเทพรัตนราชสุดาฯ ก็เคยมีรับสั่งว่า การที่ให้เด็กได้ท่องอาขยาน เป็นการฝึกความจำของเด็ก ด้วยการให้ได้ท่องภาษาดีๆ การใช้ภาษาของเด็กก็จะได้รับการพัฒนาไปด้วย อย่างไรก็ตาม การที่จะฝึกฝนและสอนเด็กให้ใช้ภาษาไทยได้ถูกต้องนั้น ครูก็ต้องเป็นแบบอย่างที่ดีด้วย หน่วยงานที่เกี่ยวข้องจึงได้หามาตรการในการสร้างมาตรฐานการใช้ภาษาไทยที่ถูกต้องของครูด้วยเช่นกัน เช่น แนวคิดในการจัดทำเกณฑ์มาตรฐานของครูโดยราชบัณฑิตยสถาน การจัดอบรมครูภาษาไทยทั่วประเทศทุกวันเสาร์ที่สองของเดือน โดยสมาคมครูภาษาไทยฯ เป็นต้น
     สื่อ เนื่องจากเด็กและเยาวชนอยู่กับสื่อแทบตลอดเวลา มากกว่าอยู่กับพ่อแม่ และสถาบันการศึกษาด้วยซ้ำ สื่อจึงควรมีจิตสำนึกและตระหนักว่าตนเองมีความสำคัญต่อสังคม มีอิทธิพลต่อพฤติกรรมต่าง ๆ ของวัยรุ่น รวมทั้งการใช้ภาษา แม้ว่าสื่อมีความจำเป็นต้องใช้คำแปลกใหม่บ้างเพื่อเป็นสีสันของข่าว และดึงดูดผู้ชมผู้ฟัง แต่ก็ต้องไม่มากจนเกินไป ดังนั้น เมื่อจะสื่อสารสิ่งใดจึงควรมีวิจารณญาณ และใช้ภาษาไทยให้ถูกต้องเพื่อเป็นแบบอย่างที่ดีของสังคมต่อไป
การที่จะฝึกฝนหรือสอนให้เด็กพูด อ่าน และเขียนภาษาไทยให้ถูกต้องนั้น คงจะง่ายขึ้นหากเราสามารถปลูกฝังให้พวกเขารู้สึกหวงแหนภาษาไทย ซึ่งเป็นมรดกของชาติ เพราะเรามีทั้งภาษาพูด และภาษาเขียนที่เป็นของเราเอง เพื่อที่วันข้างหน้าเขาจะเติบโตขึ้นเป็นเยาวชนไทยที่ใช้ภาษาไทยถูกต้อง มีบุคลิกภาพดี และสามารถอวดเอกลักษณ์ความเป็นไทยได้อย่างเต็มภาคภูมิ
สำหรับครู อาจารย์ก็ต้องมีการสร้างแรงจูงใจให้กับเด็กนักเรียนในห้องเรียน เพราะพฤติกรรมและการออกแบบการจัดการเรียนรู้ของครูเอง จะมีอิทธิพลต่อแรงจูงใจของนักเรียน ครูจึงสามารถพัฒนาแรงจูงใจของนักเรียนได้โดยสนับสนุนให้นักเรียนกำหนดเป้าหมายการเรียนรู้ และสร้างความเข้าใจว่า ความสำเร็จนั้นเกิดจากความพยายาม ซึ่งเป็นสิ่งที่นักเรียนสามารถควบคุมได้ และในการจัดกระบวนการเรียนรู้ ครูต้องพยายามเชื่อมโยงระหว่างสิ่งที่เรียนกับชีวิต กำหนดหรือมอบหมายงานที่เหมาะสมและสอดคล้องกับศักยภาพของนักเรียน เพื่อให้พวกเขาเกิดความมั่นใจ และใช้การเสริมแรงทางบวกเพื่อเสริมสร้างแรงจูงใจให้ได้มากที่สุด
     จะเห็นได้ว่า ปัญหาการใช้ภาษาไทยของวัยรุ่นไทยมีความสำคัญเป็นอย่างมาก เพราะภาษาไทยไม่ใช่ไว้เพียงแค่การติดต่อสื่อสารเท่านั้น แต่ภาษาไทยของเราเป็นเอกลักษณ์ เป็นวัฒนธรรม ที่สืบทอดต่อกันมาเป็นเวลานาน ภาษาไทยจึงมีความสำคัญกับวัยรุ่นไทยที่จะเป็นอนาคตของชาติต่อไป รักษาภาษาไทย ที่บรรพบุรุษของเราได้สร้างไว้ให้ และให้ภาษาไทยอยู่คู่กับชาติไทยไปตลอด

สาเหตุที่สำคัญในการเปลี่ยนแปลงของภาษาของวัยรุ่นที่ใช้กันในปัจจุบัน

1.เมื่อการติดต่อผ่านเครือข่ายคอมพิวเตอร์กลายเป็นช่องทางใหม่ในการสื่อสาร ภาษาในยุคนี้จึงแปลก        เปลี่ยน เกิดภาษาใหม่ๆ บางคำมาจากแป้นพิมพ์ที่อยู่ติดกัน พิมพ์ง่ายกว่าจึงเกิดคำใหม่แทนคำเก่า
2.เพื่อลดความรุนแรงในการใช้ภาษาที่ไม่สุภาพ
3.คำศัพท์ใหม่ๆ ที่วัยรุ่นหรือคนบางกลุ่มนำมาใช้จนแพร่หลายนั้น ก็เพราะว่าคำไทยที่มีอยู่เดิมอาจจะไม่      สามารถสื่อถึงลักษณะและรายละเอียดของสิ่งที่ต้องการจะสื่อสารได้มากพอ คนส่งสารก็เลยต้องพยาม    ยามคิดคำขึ้นมาใหม่ให้สามารถบอกรายละเอียดและความรู้สึกของตนเองให้ได้มากที่สุด
4.การเขียนคำไทยในอินเตอร์เน็ต หรือนิตยสารเพื่อความบันเทิง จะเขียนตามเสียงอ่านเพราะไม่ต้องการ    อยู่ในกรอบ หรือต้องการทำอะไรที่คิดว่าใหม่ ไม่เลียนแบบของเก่า
5.ทุกสิ่งในโลกล้วนเป็นอนิจจัง วัฏจักรของชีวิตมีเกิด แก่ เจ็บ ตาย ภาษาก็มีวัฏจักรชีวิตเช่นเดียวกัน
   ภาษามีเกิด คือ มีการสร้างคำใหม่ๆ ขึ้นมา
   ภาษามีแก่ คือ คำที่คิดว่าเก๋ เท่ ในยุคหนึ่ง ก็กลับกลายเป็นคำที่ล้าสมัยในปัจจุบัน
   ภาษามีเจ็บ คือ ความบกพร่องในการใช้ภาษา ต้องอาศัยการเยียวยารักษา
   ภาษามีตาย คือ คำบางคำไม่มีการนำกลับมาใช้อีก
   อย่างไร ก็ตามภาษาวิบัติยังเป็นคำพูดที่ไม่ได้รับความยินยอมให้ใช้ทั่วไปในระดับสากล หากแต่ใช้พูด      กันเองในกลุ่มเพื่อนฝูงหรือในกลุ่มวัยรุ่น โดยการใช้ภาษาเหล่านี้มักจะได้รับการต่อต้านจากผู้หลัก            ผู้ใหญ่ในสังคมอยู่เสมอ ณ วันนี้ หากฝืนปล่อยให้กลุ่มคนที่ชอบใช้ภาษาแบบผิดๆ ด้วยค่านิยมที่ผิดๆ        เพียงรู้สึกว่าการใช้ภาษาตามค่านิยมวัยรุ่นเหล่านั้นดูเป็นคำที่น่ารักและยังช่วยให้พิมพ์ง่ายขึ้น โดยที่ไม่    คำนึงถึงสิ่งที่จะตามมา นั่นคือการทำลายภาษาไทยโดยทางอ้อม และที่น่ากลัวยิ่งคือวัยรุ่นบางกลุ่มได้    นำคำเหล่านี้ไปใช้ในชีวิตประจำวันและได้แพร่หลายเข้าไปในสถานศึกษา ซึ่งจะเป็นหนทางที่จะนำพา    ความหายนะมาสู่วงการภาษาไทยซึ่งเป็นเอกลักษณ์ของชาติที่ทุกฝ่ายไม่ควรมองข้าม

ตัวอย่าง การใช้ภาษาโดยมีการเปลี่ยนแปลง

แปลงเสียงสั้นเสียงยาว
อะไร แปลงเป็น อาราย
ได้ แปลงเป็น ด้าย
ไม่ใช่ แปลงเป็น ม่ายช่าย
ไป แปลงเป็น ปาย
ใคร แปลงเป็น คราย
ทําไม แปลงเป็น ทามมาย
มาก แปลงเป็น มั่ก
ด้วย แปลงเป็น ดั่ว
สัตว์ แปลงเป็น สาด
กติกา แปลงเป็น กติกู

แปลงสระ
คิดถึง แปลงเป็น คิดถุง
กว่า แปลงเป็น กั่ว
ไม่ แปลงเป็น มะ
แล้ว แปลงเป็น แระ
เอา แปลงเป็น แอง
จะ แปลงเป็น จา,จิ
เพื่อน แปลงเป็น เพิ่ล
เปล่า แปลงเป็น ป่าว,ปะ
ไป แปลงเป็น ปาย
ทํา แปลงเป็น ทาม
ขอบคุณ แปลงเป็น ขอบคุง
เลย แปลงเป็น โรย

แปลงคำควบกล้ำ
จริงสิ แปลงเป็น จิงดิ
เปล่า แปลงเป็น ป่าว,ปะ
หรือเปล่า แปลงเป็น อ๊ะป่าว
จ้า แปลงเป็น จร้า
ค่า แปลงเป็น คร่า

ซ้ำตัวสะกด
ว้าย แปลงเป็น ว๊ายยยย
โอ๊ย แปลงเป็น โอ๊ยยยย
ครับ แปลงเป็น ค๊าบบบบ
รัก แปลงเป็น ร๊ากกก

ซ้ำสระ
เอ้า แปลงเป็น เอ้าาาา
จ้า แปลงเป็น จร้าาาา
ค่า แปลงเป็น คร่าาาาา

เขียนแตกต่างจากเดิม
ขอบใจ แปลงเป็น ขอบจัย
อย่างไร แปลงเป็น ยังงัย
ทําให้ แปลงเป็น ทำหั้ย
เธอ แปลงเป็น เทอ
จริง แปลงเป็น จิง

เขียนรูปแบบหรือสัญลักษณ์
เสียงหัวเราะฮ่าฮ่าฮ่า แปลงเป็น 555
ยิ้ม แปลงเป็น : )
ยิ้มขยิบตา แปลงเป็น ; )
ทําหน้าตาเบื่อโลก แปลงเป็น -_-

การแทรกเสียง
มึง แปลงเป็น มรึง
กู แปลงเป็น กรู
จ้า แปลงเป็น จร้า
ค่า แปลงเป็น คร่า
ค่ะ แปลงเป็น คระ
คิด แปลงเป็น คริด
สุดตีน แปลงเป็น สุดตรีน

การกลมกลืนเสียง
แม่มึง แปลงเป็น แม่ง
ดูซิ แปลงเป็น ดูดิ
กระโปรง+กางเกง แปลงเป็น กระเปรง
ค.วาย+แรด แปลงเป็น แคว๊ด
แฟน+ควาย แปลงเป็น แควน
โวยวาย แปลงเป็น วีน

การตัดเสียง
ซุปเปอร์สตาร์ แปลงเป็น ซุปตาร์
มหาวิทยาลัย แปลงเป็น มหาลัย
คอนเฟิร์ม แปลงเป็น เฟิร์ม
ไม่ไหวที่จะเคลียร์ แปลงเป็น ไม่ไหวจะเคลียร์
งอนตุ๊บป่อง แปลงเป็น งอนป่อง,งอนป่องๆ
อิทธิพล แปลงเป็น อิด
พารานอย(paranoid) แปลงเป็น นอย
โอเค แปลงเป็น โอ
สตรอเบอรี่ แปลงเป็น สะตอ
แนบเนียน แปลงเป็น เนียน
อิมพอสสิเบล แปลงเป็น อิม
เนิบนาบ แปลงเป็น เนิบ
ติ๊งต๊อง แปลงเป็น ติ๊ง
สวัสดี แปลงเป็น หวัดดี

การกร่อนเสียง
ใช่ไหม กร่อนเสียงเป็น ชิมิ
ตาวัน กร่อนเสียงเป็น ตะวัน
หมากกรูด กร่อนเสียงเป็น มะกรูด
หมากนาว กร่อนเสียงเป็น มะนาว
แฟน กร่อนเสียงเป็น ฟุ๊บุ
กระล่อน กร่อนเสียงเป็น หลี
ขี้เหร่ กร่อนเสียงเป็น เหียก
ช่างทำได้นะ กร่อนเสียงเป็น กล้านะ
เสียว กร่อนเสียงเป็น เซี้ยว
อร่อย กร่อนเสียงเป็น เอ็ดย่า
กับ กร่อนเสียงเป็น กะ
แจ๋ว(คนใช้) กร่อนเสียงเป็น แจ๋ง
ปอด กร่อนเสียงเป็น ป๊อด

ความหมายต่างไปจากเดิม
ปวดตับ หมายถึง เครียด
กลิ่นตุๆ หมายถึง เค้าลางของการทุจริต
เกาเหลา หมายถึง ไม่ถูกกัน,ไม่กินเส้น
ตู้ หมายถึง เด็กเรียน
สิว-สิว หมายถึง เรื่องขี้ผง เรื่องเล็กๆ ง่ายมาก
ซึม หมายถึง พวกชอบทำไม่รู้ไม่ชี้ แต่ที่แท้ตัวดี
ป๊อด หมายถึง ไม่กล้า
กิ๊บ หมายถึง เจ๋งมากๆ
เบๆ หมายถึง ง่ายๆ หมูๆ
ออนป้า หมายถึง ทำตัวแก่ประมาณคุณป้า
เนิร์ด(Nerd) หมายถึง เด็กเรียน
งานเข้า หมายถึง ได้เรื่องหรือมีเรื่องเดือดร้อนเข้ามา
ยาวไป หมายถึง เที่ยวกลางคืนจนถึงดึกดื่นถึงเช้า
เนียน หมายถึง ทำได้กลมกลืน ทำเนียบเนียนดีมาก
วีนแตก หมายถึง ชอบอาละวาด ชอบโวยวาย
เฟิร์มนะ หมายถึง ตกลงแน่นอนตามนั้นใช่ไหม่
โดนใจ หมายถึง ประทับใจ

และยังมีคำอีกมากมายที่ถูกบัญญัติขึ้นโดยกลุ่มผู้ใช้ที่เป็นวัยรุ่น จนแทบจะกลายเป็นภาษาทางการของกลุ่มวัยรุ่นที่นิยมใช้กันอย่างแพร่หลายและนับวันยิ่งขยายวงกว้างออกไปเรื่อยๆ ซึ่งปัญหาเหล่านี้หากทุกภาคส่วนในสังคมยังคงปล่อยวางไม่เร่งรีบหาทางแก้ไข และยังคงมีการใช้บ่อยๆ ก็จะทำให้เกิดความเคยชิน อีกทั้งมีการนำไปใช้ในชีวิตประจำวันจนในที่สุดก็จะกลายเป็นเรื่องปกติ ซึ่งน่าหวั่นเกรงยิ่งนักว่าในอนาคตปัญหาวิกฤติภาษาไทยก็จะยิ่งยากเกินการเยียวยาแก้ไข

ปัญหาที่พบเป็นอย่างมากเกี่ยวกับการใช้ภาษาไทย

         ในปัจจุบันปัญหาที่พบเป็นอย่างมากเกี่ยวกับการใช้ภาษาไทย
       คือการใช้ภาษาในทางวิบัติ และมีการเปลี่ยนแปลงรูปแบบการใช้ภาษาอยู่หลายประเภท เช่น
1. รูปแบบการพูด เป็นประเภทของภาษาวิบัติที่ใช้เวลาพูดกัน ซึ่งบางครั้งก็ปรากฏขึ้นในการเขียนด้วย แต่     น้อยกว่ากลุ่มที่ใช้ในเวลาเขียน โดยการพูดมักจะพูดให้มีเสียงสั้นลง หรือยาวขึ้น หรือไม่ออกเสียงควบ     กล้ำเลย ประเภทนี้เรียกได้อีกอย่างว่ากลุ่มเพี้ยนเสียง
2. รูปแบบการเขียน รูปแบบของภาษาวิบัติประเภทนี้ โดยทั้งหมดจะเป็นคำพ้องเสียงที่นำมาใช้ผิดหลัก       ของภาษา คนที่ใช้ภาษาวิบัติเวลาเขียนนั้นจะเขียนตามเสียงอ่าน เพราะไม่ต้องการอยู่ในกรอบหรือ         ต้องการทำอะไรที่คิดว่าใหม่ ไม่เลียนแบบของเก่า ได้แก่
  2.1 การเขียนตามเสียงพูด
  2.2 การสร้างรูปการเขียนใหม่
3.รูปแบบของการเปลี่ยนแปลงเสียงอ่าน
4.กลุ่มที่เปลี่ยนแปลงความหมาย

รูปแบบการใช้ภาษาไทยของวัยรุ่น

        รูปแบบการใช้ภาษาไทยของวัยรุ่น
      การใช้ภาษาเป็นเรื่องของการสื่อสาร ซึ่งผู้ส่งสารจะต้องทำให้ผู้รับสารเข้าใจความหมายของตน ให้มากที่สุด แต่การสื่อสารที่มีรูปแบบแตกต่างกัน จะทำให้การใช้ภาษามีความแตกต่างกันไปด้วย เช่น การสื่อสารแบบเผชิญหน้าย่อมแตกต่างจากการสื่อสารแบบผ่านเครื่องมือการสื่อสาร หรือการสื่อสารด้วย สื่อสิ่งพิมพ์ ย่อมมีความแตกต่างการสื่อสารด้วยสื่ออิเล็กทรอนิกส์ ซึ่งมีทั้งภาพและเสียง

ปัจจัยที่มีผลกระทบต่อการใช้ภาษาไทยของวัยรุ่น

           ปัจจัยที่มีผลกระทบต่อการใช้ภาษาไทยของวัยรุ่น
      ปัญหาการใช้ภาษาไทยได้เกิดขึ้นมาเป็นระยะเวลาอันยาวนานหลายสิบปี แต่ในยุคปัจจุบันนี้ปัญหายิ่งวิกฤติความรุนแรงมากขึ้นเรื่อย ๆ ซึ่งมีปัจจัยหนุนนำที่สำคัญนั่นคือความก้าวหน้าทางเทคโนโลยีที่ก้าวล้ำไปอย่างรวดเร็ว เราจึงพบการใช้ภาษาไทยแบบผิด ๆ มากมายจนเกือบจะกลายเป็นความคุ้นชิน โดยเฉพาะในกลุ่มวัยรุ่น ยิ่งน่าเป็นห่วงมากที่สุด เป็นกลุ่มที่นิยมใช้ภาษาที่มีวิวัฒนาการทางภาษาที่เฉพาะกลุ่ม ซึ่งเป็นภาษาที่เกือบจะไม่มีไวยากรณ์ ไม่ว่าจะจากการรับส่งข้อความสั้น (SMS) การส่งจดหมายอิเล็กทรอนิกส์ (E-mail) การสนทนาออนไลน์ (MSN) หรือแม้แต่การแสดงความคิดเห็นในโลกอินเทอร์เน็ต

       อินเทอร์เน็ต การใช้ภาษาไทยที่เกิดจากอินเทอร์เน็ตนั้นเริ่มลุกลามมาจากโปรแกรมแช็ทรูมและเกมออนไลน์ ซึ่งดูคล้ายเป็นการสนทนากันธรรมดา แต่เมื่อได้เข้าไปสัมผัสแล้ว มิใช่เลย การสนทนาอันไม่มีขีดจำกัดของภาษาทำให้เกิดปัญหาขึ้นมากมาย ดังเช่นที่พบตามหน้าหนังสือพิมพ์ในปัจจุบัน และในขณะเดียวกันก็สร้างปัญหาให้แก่วงการภาษาไทยด้วย นั่นคือการกร่อนคำ และการสร้างคำใหม่ให้มีความหมายแปลกไปจากเดิม หรืออย่างที่เรียกว่าภาษาเด็กแนวนั่นเอง

       วัยรุ่น เป็นช่วงวัยที่มีการสื่อสารกันมากและมีรูปแบบการสื่อสารด้วยคำที่ทันสมัย มีความหมายเฉพาะสำหรับกลุ่มและช่วงวัย วัยรุ่นจึงขาดความคำนึงถึงความถูกต้องเหมาะสมของภาษาที่ใช้ให้เหมาะสม มีหลายสาเหตุที่ทำให้วัยรุ่นใช้ภาษาที่ผิดๆ โดยเฉพาะเทคโนโลยีเข้ามาเกี่ยวข้องอย่างมาก ทำให้มีความสะดวกในการใช้ชีวิตประจำวัน รวมทั้งการสื่อสาร วัยรุ่นในประเทศไทยยุคใหม่บางกลุ่มได้สร้างค่านิยมที่ผิดๆ มาใช้ คือ การใช้ภาษาไทยที่ผิดจากคำเดิม จึงทำให้ภาษาไทยของเราเปลี่ยนแปลงไป เยาวชนยุคหลังๆ จึงใช้ภาษาไทยไม่ถูกต้อง    จุฬาลงกรณ์มหาวิทยาลัยได้จัดทำการทดสอบวัดสมรรถภาพในการใช้ภาษาไทย หัวข้อทักษะการเขียนภาษาไทยเพื่อการประกอบอาชีพ โดยนำนิสิตจากจุฬาฯจำนวน 398 คน มาทำการทดสอบ ซึ่งพบข้อผิดพลาดอยู่หลายจุด และพบว่าไม่มีผู้ใดได้ผลในเกณฑ์ดีมาก ในระดับดีมีอยู่เพียง 28 คน ข้อผิดพลาดที่พบคือ เรื่องวรรคตอนผิด ใช้คำไม่หลากหลาย ซึ่งมีผู้ผ่านเกณฑ์การทดสอบ 250 คนที่บ่งบอกว่าเป็นผู้ใช้ปฏิบัติงานได้ สื่อความคิดได้ครบถ้วน แต่ยังคงต้องเพิ่มเรื่องการเชื่อมโยงความคิด การใช้คำเชื่อม การใช้คำให้ตรงความหมาย และการสะกดคำ ขณะที่มีผู้ทดสอบไม่ผ่าน 120 คน ปัญหาที่สรุปได้คือ ยังขาดความสามารถในการเขียนที่จำเป็นต้องใช้ในการปฏิบัติงาน ควรแก้ไขการสื่อความคิดที่ไม่ชัดเจนหรือวกวน ใช้คำผิด สะกดผิด ใช้ภาษาไม่เหมาะสมกับประเภทของงานเขียนผู้ปกครอง พ่อแม่อยากจะให้ลูกเก่งภาษาต่างประเทศแต่ภาษาไทยก็ไม่ควรละทิ้ง หรือไม่สนใจการใช้ที่ถูกต้อง เพราะภาษาทุกภาษาย่อมมีหลักการใช้ที่เหมือนกันคือ ต้องใช้ให้ถูกกาลเทศะ สถานที่ ถูกบุคคล ต้องชัดเจนทั้งการออกเสียงและใช้ประโยค ถูกต้องตามความหมาย และบริบทของภาษา
นอกจากการเรียนรู้ภาษาไทยกลางและภาษาต่างประเทศแล้วภาษาถิ่นของไทยก็มีความสำคัญมากเช่นกัน ในช่วงหลายสิบปีที่ผ่านมา กระแสสังคมคนอาศัยในต่างจังหวัดจะสอนลูกให้พูดภาษากลางอย่างเดียว ไม่สอนภาษาถิ่น ทำให้ลูกพูดภาษาถิ่นไม่ได้ ทำให้เด็กขาดความรู้ในเรื่องนี้ และสังคมท้องถิ่นก็ขาดการสืบทอดสิ่งที่บรรพบุรุษถ่ายทอดกันมา ซึ่งเป็นเรื่องละเอียดอ่อน เช่น ตำราที่ใช้คำท้องถิ่น ทั้งตำรับยา ชื่อต้นไม้ หรือพิธีกรรม เป็นต้นสื่อมวลชน ก็เป็นปัจจัยหนึ่งที่ทำให้เกิดการใช้ภาษาไทยแบบผิดๆของประชาชนเพราะ สื่อมวลชนเป็นผู้ที่ให้ข้อมูล ข่าวสารกับประชาชนทุกวัน สื่อมวลชนต้องเป็นผู้นำที่ดีที่สุดของการใช้ภาษาและต้องให้ข้อคิดอยู่เสมอว่า ภาษานั้นสะท้อนความเป็นตัวของเราเอง ถ้าใช้ภาษาดี ภาษาที่ถูกต้อง ภาษาที่นำสังคมไปในทางสร้างสรรค์ สร้างความสามัคคี สร้างความรัก สร้างความภูมิใจในชาติจะทำให้ทุกคนเห็นคล้อยตาม แต่ถ้าหากว่าสื่อมวลชนนำภาษาที่ประหลาด ภาษาที่ไม่ถูกต้องเอามาเผยแพร่บ่อยๆ คนจะคิดว่าสิ่งที่สื่อมวลขนมาเผยแพร่นั้นถูกต้อง เป็นสิ่งที่ดี มันจะทำลายภาษาไทย โดยเฉพาะการใช้ภาษาในข่าวพาดหัวหนังสือพิมพ์หรือโทรทัศน์ต่างๆ เป็นต้น
ปัจจัยอีกอย่างหนึ่งในการใช้ภาษาไทย ก็คือ ปัญหาการใช้ภาษาไทยของครูและนักเรียน เกิดจาก ครู เนื่องจากครู คือ ผู้ประสาทวิชา เป็นผู้ให้ความรู้แก่ศิษย์ ดังนั้นความรู้ในด้านต่างๆ เด็กๆจึงมักจะได้รับมาจากครูเป็นส่วนใหญ่ ในขณะที่ครูบางคนนั้นมีความรู้แต่ไม่แตกฉาน โดยเฉพาะวิชาภาษาไทยเป็นวิชาที่มีความละเอียดอ่อน และมีส่วนประกอบแยกย่อยอย่างละเอียดลออ เมื่อครูไม่เข้าใจภาษาไทยอย่างกระจ่าง จึงทำให้นักเรียนไม่เข้าใจตามไปด้วย จนพานเกลียดภาษาไทยไปในที่สุด ซึ่งเป็นปัญหาที่ปรากฏให้เห็นอยู่มากมายในปัจจุบัน

ปัญหาการใช้ภาษาไทยของวัยรุ่น

            ภาษาเป็นสิ่งแสดงภูมิปัญญาอันยอดของมนุษย์ ที่สามารถพัฒนาเสียงซึ่งเปล่งออกได้ด้วยอาการตามธรรมชาติ ให้กลายเป็นเครื่องมือใช้สื่อความคิด ความรู้สึก ความต้องการของตนให้ผู้อื่นรู้และสื่อสารกันได้จนเกิดเป็น ภาษา มนุษย์ใช้ภาษาเป็นเครื่องมือในการติดต่อ สื่อสารและทำความเข้าใจกันในหมู่ชนที่ใช้ภาษาเดียวกันได้ ภาษาทำให้มนุษย์สามารถพัฒนาชีวิต ความเป็นอยู่ความรู้ความสามารถในการหาเลี้ยงชีพ และความสามารถอื่นๆ อีกมากมาย มนุษย์สามารถพัฒนาความรู้ ความคิด จิตใจ คุณธรรม ความเชื่อ ศิลปะ ฯลฯ จนแตกต่างจากสัตว์ทุกชนิดและเป็นผู้ครองโลกได้ก็ด้วยภาษาของมนุษย์นี่เอง ภาษาจึงเป็นส่วนสำคัญ ของความเป็นมนุษย์ ไม่ว่าจะเป็นกลุ่มชนที่เจริญก้าวหน้าจนเป็นมหาอำนาจหรือกลุ่มชนที่ล้าหลังที่สุด ต่างก็มีภาษาใช้สื่อสารกันในกลุ่มของตน และทุกภาษาจะมีความสมบรูณ์เพียงพอที่จะใช้สื่อสารกันได้ในกลุ่ม เมื่อมนุษย์ได้ติดต่อกับคนต่างกลุ่ม ติดต่อกับคนที่ใช้ภาษาต่างไปจากตน การหยิบยืมทางภาษาก็อาจเกิดขึ้นได้ในทุกกลุ่มชน การยืมจะมีมากหรือน้อยขึ้นอยู่กับความจำเป็นและความต้องการของคนในสังคมนั้นๆ มนุษย์เราใช้ภาษาควบคู่ไปกับการดำรงชีวิต ภาษาจึงอาจรับผลจากความเจริญหรือความเสื่อมของมนุษย์และอาจมีผลต่อ ความเจริญหรือความเสื่อมของสังคมมนุษย์ด้วย

              ภาษาไทยเป็นภาษาที่เก่าแก่ที่สุดในประเทศเอเชียตะวันออกเฉียงใต้ มีรากฐานมาจากออสโตรไทย ซึ่งมีความคล้ายคลึงกับภาษาจีน มีหลายคำที่ขอยืมมาจากภาษาจีน
พ่อขุนรามคำเเหงได้ประดิษฐ์อักษรไทยขึ้นเมื่อปี พ.ศ. 1826 (ค.ศ.1283) มี พยัญชนะ 44ตัว (21 เสียง), สระ 21รูป (32 เสียง), วรรณยุกต์5 เสียง คือ เสียง สามัญ เอก โท ตรี จัตวา ภาษาไทยดัดแปลงลงมาจากบาลี และ สันสกฤต
ภาษาไทยเป็นทั้งวัฒนธรรม เอกลักษณ์ และความภูมิใจของคนไทย แต่ปัจจุบันคนไทยจำนวนไม่น้อยที่ใช้ภาษาไทยได้ไม่ดีพอ ไม่รู้ว่าพยัญชนะ สระ และวรรณยุกต์ในภาษาไทยมีกี่รูป กี่เสียง และยังมีคนไทยอีกจำนวนมากที่ยังพูดภาษาไทยผิดบ้าง เขียนผิดบ้าง หรือบ้างก็จับใจความผิด ฟังผิด อ่านผิด บ้างก็พูดภาษาไทยคำภาษาอังกฤษคำ จนเกิดปัญหาการสื่อสารและเข้าใจความหมายของภาษาในทางที่ผิด ซึ่งสิ่งเหล่านี้เป็นต้นเหตุที่จะทำให้เสน่ห์ของภาษาไทยค่อย ๆ เลือนหายไป
ภาษาเป็นวัฒนธรรมที่สำคัญของชาติ ภาษาเป็นสื่อใช้ติดต่อกันและทำให้วัฒนธรรมอื่นๆเจริญขึ้น แต่ละภาษามีระเบียบของตนแล้วแต่จะตกลงกันในหมู่ชนชาตินั้น ภาษาจึงเป็นศูนย์กลางยืดคนทั้งชาติ ดังข้อความ ตอนหนึ่งในพระราชนิพนธ์ในพระบาท สมเด็จพระมงกุฎเกล้าเจ้าอยู่หัว เรื่อง "ความเป็นชาติโดยแท้จริง" ว่า ภาษาเป็นเครื่องผูกพันมนุษย์ต่อมนุษย์แน่นเฟ้นนกว่าสิ่งอื่น และไม่มีสิ่งใด ที่จะทำให้คนรู้สึกเป็นพวกเดียวกันหรือแน่นอนยิ่งไปกว่าภาษาเดียวกัน รัฐบาลทั้งปวงย่อมรู้สึกในข้อนี้อยู่ดี เพราะฉะนั้น รัฐบาลใดที่ต้องปกครองคนต่างชาติต่างภาษา จึงต้องพยายามตั้งโรงเรียนและออกบัญญัติบังคับ ให้ชนต่างภาษาเรียนภาษาของผู้ปกครอง แต่ความคิดเห็นเช่นนี้ จะสำเร็จตามปรารถนาของรัฐบาลเสมอก็หามิได้ แต่ถ้ายังจัดการแปลง ภาษาไม่สำเร็จอยู่ตราบใด ก็แปลว่า ผู้พูดภาษากับผู้ปกครองนั้นยังไม่เชื่ออยู่ตราบนั้นและยังจะเรียกว่าเป็นชาติเดียวกันกับมหาชนพื้นเมืองไม่ได้ อยู่ตราบนั้น ภาษาเป็นสิ่งซึ่งฝังอยู่ในใจมนุษย์แน่นแฟ้นยิ่งกว่าสิ่งอื่น  ดังนั้น   ภาษาก็เปรียบได้กับรั้วของชาติ ถ้าชนชาติใดรักษาภาษาของตนไว้ได้ดี ให้บริสุทธิ์ ก็จะได้ชื่อว่า รักษาความเป็นชาติ

            คนไทยเป็นผู้ที่โชคดีที่มีภาษาของตนเอง และมีอักษรไทย เป็นตัวอักษร ประจำชาติ อันเป็นมรดกล้ำค่าที่บรรพบุรุษได้สร้างไว้ ซึ่งเป็นเครื่องแสดงว่าไทยเราเป็นชาติที่มีวัฒนธรรมสูงส่งมาแต่โบราณกาลและยั่งยืนมาจนปัจจุบัน คนไทยผู้เป็นเจ้าของภาษา ควรภาคภูมิใจที่ชาติไทยใช้ภาษาไทย เป็นภาษาประจำชาติมากว่า 700 ปีแล้ว และจะยั่งยืนตลอดไป ถ้าทุกคนตระหนักในความสำคัญของภาษาไทย

            ในปัจจุบันนี้ปรากฏว่า ได้มีการใช้คำออกจะฟุ่มเฟือย และไม่ตรงกับความหมายอันแท้จริงอยู่เนือง ๆ ทั้งออกเสียงก็ไม่ถูกต้องตามอักขรวิธี ถ้าปล่อยให้เป็นไปดังนี้ ภาษาของเราก็มีแต่จะทรุดโทรม ชาติไทยเรามีภาษาของเราใช้เองเป็นสิ่งอันประเสริฐอยู่แล้ว เป็นมรดกอันมีค่าตกทอดมาถึงเราทุกคน จึงมีหน้าที่จะต้องรักษาไว้...“ พระบรมราโชวาทในพิธีพระราชทานปริญญาบัตรแก่นิสิตจุฬาลงกรณ์มหาวิทยาลัย เมื่อวันที่ 9 กรกฎาคม 2512

            เราจะเห็นได้ว่าพระบาทสมเด็จพระเจ้าอยู่หัวทรงเน้นย้ำให้ประชาชนชาวไทยตระหนักถึงความสำคัญของภาษาไทยและพระราชทานแนวความคิดในการอนุรักษ์ภาษาไทยในโอกาสต่าง ๆ อยู่เสมอ ที่สำคัญยิ่งกว่านี้ คือ เป็นที่ประจักษ์ว่าพระองค์มีพระปรีชาญาณและพระอัจฉริยภาพในการใช้ภาษาไทย ทรงรอบรู้ปราดเปรื่องและเป็นแบบอย่างแก่ประชาชนในการใช้ภาษาไทยมาโดยตลอด

วันพุธที่ 17 ธันวาคม พ.ศ. 2557

คำสั่ง SQL

1. SELECT Statement

ไวยากรณ์

ประโยคคำสั่ง SELECT
SELECT [ALL | DISTINCT] column1[,column2]
FROM table1[,table2]
[WHERE conditions ]
[GROUP BY column-list ]
[HAVING conditions ]
[ORDER BY column-list   [ASC | DESC] ];
[ ] ตัวเลือก

ตัวอย่าง

SELECT name, title, dept
FROM employee
WHERE title LIKE 'Pro%';
ประโยคคำสั่งข้างบนจะเลือก แถว/ค่า ในคอลัมน์ name, title และ dept จาก table “employee” ที่มี title เริ่มต้นด้วย ‘Pro’ ซึ่งจะส่งตำแหน่งงานของ Programmer หรือตำแหน่งอื่นที่ขึ้นต้นด้วย Pro ออกมา

2. GROUP BY

ไวยากรณ์

GROUP BY clause
SELECT column1, SUM(column2 )
FROM list-of-tables
GROUP BY column-list ;
GROUP BY clause ใช้หาผลรวมของคอลัมน์จากแถวในคอลัมน์ที่ระบุ และทำงานร่วมกับ aggregate function ที่ทำงานกับคอลัมน์ 1 คอลัมน์หรือมากกว่า เพื่อหาผลรวมของกลุ่มของแถวข้อมูล
SELECT max(salary), dept
FROM employee
GROUP BY dept;
ประโยคคำสั่งนี้จะเลือกค่า salary มากที่สุด ในแต่ละฝ่าย

ตัวอย่าง

การจัดกลุ่มภายในคอลัมน์ เช่น table ‘item_order’ มีคอลัมน์ quantity ที่เก็บค่า 1, 2, 3 และอื่นๆ โดยต้องการหาค่าราคาสูงสุดของละค่าใน quantity สามารถเขียนคำสั่งได้ดังนี้
SELECT quantity, max(price)
FROM items_ordered
GROUP BY quantity;

3. HAVING

ไวยากรณ์

HAVING clause
SELECT column1, SUM(column2 )
FROM list-of-tables
GROUP BY column-list
HAVING condition ;
HAVING clause ยินยอมให้ระบุเงื่อนไขบนแถวของแต่ละกลุ่ม หรือสามารถเลือกแถวตามเงื่อนไขที่ระบุ HAVING clause ควรตามหลัง GROUP BY clause

ตัวอย่าง

สมมติให้ table “employee” มีคอลัมน์เก็บข้อมูล ชื่อ (name), ฝ่าย (dept), เงินเดือน (salary) และ อายุ (age) ถ้าต้องการเลือกค่าเฉลี่ยเงินเดือนของพนักงานในแต่ละฝ่าย สามารถใช้คำสั่งนี้
SELECT dept, avg(salary)
FROM employee
GROUP BY dept;

4. ORDER BY

ไวยากรณ์

ORDER BY clause
SELECT column1, SUM(column2 )
FROM list-of-tables
ORDER BY olumn-list  [ASC | DESC];
[ ] ตัวเลือก
ORDER BY clause เป็น clause ตัวเลือกซึ่งยินยอมให้แสดงผลลัพธ์ของคิวรี่ที่เรียงลำดับ (ทั้งเรียงลำดับจากน้อยไปมาก หรือ จากมากไปน้อย) ตามคอลัมน์ที่ระบุให้เรียงลำดับ
ASC = Ascending order (เรียงลำดับจากน้อยไปมาก) - เป็นค่าเริ่มต้น
DESC = Descending order (เรียงลำดับจากมากไปน้อย)

ตัวอย่าง

SELECT employee_id, dept, name, age, salary
FROM employee
WHERE dept = 'Sales'
ORDER BY salary;
ประโยคคำสั่งนี้จะเลือก employee_id, dept, name, age และ salary จาก table “employee” ที่ค่า dept เท่ากับ ‘Sales’ และแสดงผลลัพธ์ในลำดับจากน้อยไปมากตาม salary
ถ้าต้องการเรียงลำดับแบบหลายคอลัมน์ ต้องแยกคอลัมน์ด้วยเครื่องหมายจุลภาค
SELECT employee_id, dept, name, age, salary
FROM employee
WHERE dept = 'Sales'
ORDER BY salary, age DESC;

5. การรวมเงื่อนไข และ Boolean Operator

AND OPERATOR

AND operator ใช้เชื่อม 2 เงื่อนไข หรือมากกว่าและแสดงผลลัพธ์เฉพาะที่สอดคล้องกับเงื่อนไขที่กำหนดทั้งหมด

ไวยากรณ์

AND operator
SELECT column1, SUM(column2 )
FROM list-of-tables
WHERE condition1  AND condition2 ;
AND สามารถใช้เชื่อมเงื่อนไขใน WHERE clause ตั้งแต่ 2 เงื่อนไขขึ้นไป โดยการแสดงแถวข้อมูลตามเงื่อนไขต้องเป็นจริงทุกค่า

ตัวอย่าง

SELECT employee_id, name, title, salary
FROM employee
WHERE salary >= 50000.00 AND title = 'Programmer';
ประโยคคำสั่งนี้แสดงข้อมูล employee_id, name, title และ salary จาก table “employee” ที่เงินเดือน (salary) มากกว่าหรือเท่ากับ 50,000 และ ตำแหน่ง (title) เท่ากับ Programmer’ ซึ่งข้อมูลสามารถแสดงออกมา เมื่อเงื่อนไขทั้งสองเป็นจริง ถ้าเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริงจะไม่แสดงออกมา

6. IN และ BETWEEN

IN

ไวยากรณ์

IN conditional operator
SELECT column1, SUM(column2 )
FROM list-of-tables
WHERE column3  IN (list-of-values );
IN เป็น operator ที่ใช้ทดสอบข้อมูลกับชุดของสมาชิก โดยทดสอบว่าค่าในคอลัมน์ (ที่ระบุก่อนคีย์เวิร์ด IN) อยู่ในรายการของค่าที่กำหนดให้หลังคีย์เวิร์ด IN

ตัวอย่าง

SELECT employee_id, name, salary
FROM employee
WHERE name IN ('Somchai', 'Sompong', 'Wanchai', 'Pornchai');
ประโยคคำสั่งนี้แสดงข้อมูล employee_id, name และ salary จาก table “employee” เฉพาะชื่อ (name) เป็นชื่อใดชื่อหนึ่งของ 'Somchai', 'Sompong', 'Wanchai', 'Pornchai' ผลลัพธ์แสดงแถวข้อมูลจากการส่งออกค่าใดค่าหนึ่งในค่าเหล่านี้
IN สามารถเขียนในรูปของ OR ได้ดังนี้
SELECT employee_id, name, salary
FROM employee
WHERE (name = 'Somchai') OR (name = 'Sompong ') OR (name = ' Wanchai') OR (name = 'Pornchai');
NOT IN สามารถใช้ดึงข้อมูลที่ภายนอกค่าของ IN
SELECT employee_id, name, salary
FROM employee
WHERE name NOT IN ('Somchai', 'Sompong', 'Wanchai', 'Pornchai');

BETWEEN

ไวยากรณ์

BETWEEN conditional operator
SELECT column1, SUM(column2 )
FROM list-of-tables
WHERE column3  BETWEEN value1  AND value2 ;
BETWEEN ใช้ทอสอบค่า (ที่ระบุก่อนคีย์เวิร์ด BETWEEN) อยู่ภายในช่วงของค่า 2 ค่าที่ระบุหลังคีย์เวิร์ด BETWEEN

ตัวอย่าง

SELECT employee_id, age, name, salary
FROM employee
WHERE age BETWEEN 30 AND 40;
ประโยคคำสั่งนี้เลือก employee_id, age, name และ salary จาก table “employee” ที่ age อยู่ระหว่าง 30 ถึง 40
เขียนประโยคคำสั่งใหม่โดยไม่ใช่ BETWEEN
SELECT employee_id, age, name, salary
FROM employee
WHERE age >= 30 AND age <= 40;
NOT BETWEEN สามารถใช้ดึงข้อมูลที่ภายนอกค่าของ BETWEEN
SELECT employee_id, age, name, salary
FROM employee
WHERE age NOT BETWEEN 30 AND 40;

7. Function

ฟังก์ชันที่ทำงานกับข้อมูลของแต่ละแถว เป็นฟังก์ชันที่สามารถทำงานใช้ประโยชน์ได้ดี แต่ไม่อยู่ในมาตรฐาน ANSI SQL-92 ซึ่งฟังก์ชันเหล่านี้อาจจะมีให้หรือไม่มีให้ขึ้นระบบฐานข้อมูลที่ใช้ ฐานข้อมูลหลักส่วนใหญ่มีให้ใช้

ฟังก์ชัน STRING

LEFT(<string>,x)ส่งออกตัวอักษรซ้ายสุด x ตัวอักษรของข้อความ เช่น LEFT(‘America’,2) = Am
RIGHT(<string>,x)ส่งออกตัวอักษรขวาสุด x ตัวอักษรของข้อความ เช่น RIGHT(‘America’,2) = ca
UPPER(<string>)แปลงข้อความทั้งหมดให้เป็นตัวอักษรใหญ่ เช่น UPPER(‘america’) = AMERICA
LOWER(<string>)แปลงข้อความทั้งหมดให้เป็นตัวอักษรเล็ก เช่น LOWER(‘AMERICA’)=america
INITCAP(<string>)แปลงข้อความทั้งหมดให้ขึ้นต้นด้วยอักษรตัวใหญ่ เช่น INITCAP(‘america’) = America
LENGTH(<string>)ส่งออกตัวอักษรในข้อความ เช่น LENGTH (‘America’) = 7
<string>||<string>ต่อ 2 ข้อความเป็นข้อความเดียวกัน (concatenated)
SUBSTR(<string>,x,y)ดึงตัวอักษรตั้งแต่ตำแหน่งที่ x จำนวน y ตัวอักษร เช่น SUBSTR(‘ABCDEF’, 3,3) = CDE
NVL(<column>, <value>)ฟังก์ชันที่ใช้เปลี่ยนค่า Null ในคอลัมน์ column ที่ระบุเป็นค่าใหม่ตาม value เช่น NVL(salary,0) หมายถึง ค่าที่เป็น Null ในคอลัมน์ salary ให้เปลี่ยนเป็น ศูนย์

ฟังก์ชันคณิตศาสตร์

ABS(x)ส่งออกค่าสัมบูรณ์ของ x
SIGN(x)ส่งออกค่าเครื่องหมายของ x เป็น -1, 0, or 1 (ค่าลบ, ศูนย์ หรือค่าบวก)
MOD(x,y)modulo - ส่งออกค่าจำนวนเต็มของการหาร x ด้วย y (เหมือนกับ x%y)
FLOOR(x)ส่งออกค่าจำนวนเต็มใหญ่ที่สุดที่น้อยกว่าหรือเท่ากับ x
CEILING(x) or CEIL(x)ส่งออกค่าจำนวนเต็มเล็กที่สุดที่มากกว่าหรือเท่ากับ x
POWER(x,y)ส่งออกค่าของ x ยกกำลัง y
ROUND(x)ส่งออกค่าที่ปรับเป็นจำนวนเต็มที่ใกล้ที่สุดของ x
ROUND(x,d)ส่งออกค่าที่ปรับตามจำนวนตำแหน่งทศนิยมที่ระบุด้วยค่า d
SQRT(x)ส่งออกค่ารากที่ 2 ของ x



ตัวอย่าง

SELECT round(salary), name
FROM employee;
ประโยคคำสั่งนี้ปรับค่า salary ให้เป็นจำนวนเต็มที่ใกล้ที่สุด และ name จาก table “employee”

8. Aggregate Function

Aggregate function ในคำสั่ง SQL ได้แก่
MINส่งออกค่าน้อยที่สุดของคอลัมน์ที่กำหนด
MAXส่งออกค่ามากที่สุดของคอลัมน์ที่กำหนด
SUMส่งออกผลรวมค่าตัวเลขของคอลัมน์ที่กำหนด
AVGส่งออกค่าเฉลี่ยของคอลัมน์ที่กำหนด
COUNTส่งออกผลรวมจำนวนของค่าของคอลัมน์ที่กำหนด
COUNT(*)ส่งออกจำนวนแถวใน table
aggregate function ใช้คำนวณเทียบกับการส่งออกคอลัมน์ของข้อมูลตัวเลขจากประโยคคำสั่ง SELECT ฟังก์ชันกลุ่มนี้ใช้หาผลรวมพื้นฐานของคอลัมน์ที่เจาะจงจากข้อมูลที่เลือกมา การทำงานของฟังก์ชันต้องใช้ GROUP BY clause เพื่อครอบคลุมการทำงาน แต่ฟังก์ชันสามารถใช้ได้โดยไม่มี GROUP BY clause

ตัวอย่าง

SELECT AVG(salary)
FROM employee;
ประโยคคำสั่งจะส่งออกผลลัพธ์ที่เก็บค่าเฉลี่ยของทุกข้อมูลที่ส่งออกมาในคอลัมน์ salary จาก table “employee”

9. JOIN

ไวยากรณ์

SELECT list-of-columns
FROM table1,table2,..
WHERE search-condition1 = search-condition2, ..
สมมติว่า ในการเก็บข้อมูลการซื้อสินค้า ประกอบด้วย 3 table คือ
1. customer_info เก็บรายละเอียดของลูกค้า
2. purchase_order เก็บรายละเอียดรายการสั่งซื้อ
”customer_info”
customer_numberfirstnamelastnameaddresscityprovincezip
”purchases”
customer_numberbuydateitemquantityprice

KEY

ในการเชื่อม table ของ SQL มีส่วนสำคัญที่เกี่ยวข้อง คือ Key ซึ่งมีแนวคิด ดังนี้
primary key เป็นคอลัมน์หรือชุดของคอลัมน์ที่ระบุแบบไม่ซ้ำ ตัวอย่างเช่น table “customer_info” มีคอลัมน์ customer_number เป็นคอลัมน์ที่ระบุแบบไม่ซ้ำของ ซึ่งมีความหมาย 2 อย่าง คือ ประการแรก ไม่มีข้อมูล 2 แถวสามารถมี customer_number เดียวกัน ถึงแม้ว่า 2 customer_number มีชื่อแรกและชื่อหลังเหมือนกัน ประการที่ 2 คอลัมน์ customer_number ทำให้มั่นใจว่าลูกค้า 2 รายนี้ไม่มีความสับสนต่อกัน เพราะการค้นหาข้อมูลใช้คอลัมน์ customer_number แทนการใช้ชื่อ
foreign key เป็นคอลัมน์ใน table ที่ primary key อยู่ table อื่น ซึ่งหมายความว่า ข้อมูลในคอลัมน์ foreign key ต้องตรงกับข้อมูลของ primary key ใน table อื่น ใน RDBMS ข้อมูลที่ตรงกัน รู้จักในฐานะ Reference Integrity ตัวอย่างเช่น table “purchases” มีคอลัมน์ customer_number เป็น foreign key โดยมี primary key อยู่ใน table “customer_info”
JOIN ที่กล่าวถึงนี้ เป็น INNER JOIN ซึ่งเป็นประเภทการเชื่อมปกติ

ตัวอย่าง

SELECT employee.employee_id, employee.lastname, employee_sales.comission
FROM employee, employee_sales
WHERE employee.employeeid = employee_sales.employeeid;
ประโยคคำสั่งนี้เลือก employee_id และ lastname จาก table “employee” และ comission จาก table “employee_sales” สำหรับทุกแถวที่ employee_id ใน table “employee” ตรงกับ employee_id ใน table “employee_sales”

10. Sub Query และ UNION

SUB QUERIES

คิวรี่ย่อย (sub queries) หมายถึง การสร้างประโยคคำสั่ง SELECT ภายในอีก ประโยคคำสั่ง SELECT หนึ่ง ซึ่งมักจะใช้ใน WHERE clause เช่น การเลือกลูกค้าที่ซื้อสินค้าแพงกว่าค่าเฉลี่ย 100
SELECT customer_number
FROM purchases
WHERE price >(SELECT avg(price) + 100 FROM purchases);
คิวรี่ย่อยคำนวณค่าเฉลี่ยของ price แล้วบวก 100 และใช้เป็นค่าอ้างอิง โดยการแสดง customer_number ที่มีค่า price มากกว่าค่าคำนวณจากคิวรี่ย่อย

UNION

UNION เป็นการนำหลายคิวรี่ ให้มาแสดงผลเป็นคิวรี่เดียวที่ใช้คอลัมน์ร่วมกัน
SELECT list-of-column FROM table1
UNION
SELECT list-of-column FROM table2
. . .
UNION
SELECT list-of-column FROM tablen
[ORDER BY columnname];

ตัวอย่าง

SELECT name, phone FROM employee
UNION SELECT lastname, phone FROM customer_info;
ประโยคคำสั่งนี้เลือก name, phone จาก table “employyee” และ lastname, phone จาก table “customer_info” เพื่อแสดงผลคอลัมน์ name เป็นรายชื่อของพนักงานและลูกค้า ส่วนคอลัมน์ phone แสดงหมายเลขโทรศัพท์ของพนักงานและลูกค้า

ที่มา : http://www.widebase.net/database/sql/sqlquery/sqlquery11.shtml

ข้อสอบ o-net วิชา คอมพิวเตอร์

1.ข้อใดไม่ใช่ระบบปฏิบัติการที่นำมาใช้บนอุปกรณ์พกพา
ประเภท  Smartphone.
     1.  Ubumtu       2.  Iphone  os
     3.  Android      4.  Symbian
เฉลยข้อ  1


2.ไฟล์ประเภทใดในข้อต่อไปนี้เก็บข้อมูลในลักษณะตัวอักษร.
    1.  ไฟล์เพลง  MP 3 (mp 3)
    2.  ไฟล์รูปประเภท  JPEG (jpeg)
    3.  ไฟล์แสดงผลหน้าเว็บ (html)
    4.  ไฟล์วีดีโอประเภท  Movie (movie)
เฉลยข้อ  3


3.ลิขสิทธิ์โปรแกรมประเภทรหัสเปิด(Open Source)อนุญาต
ให้ผู้ใช้ทำอะไรได้บ้าง.
ก.  นำโปรแกรมมาใช้งานโดยไม่ต้องเสียค่าลิขสิทธิ์
ข.  ทดลองใช้โปรแกรมก่อนถ้าพอใจจึงจ่ายค่าลิขสิทธิ์
ค.  แก้ไขปรับปรุงโปรแกรมเองได้
    1.  ข้อ  ก กับ  ข้อ  ค      2.  ข้อ  ข  กับ  ข้อ  ค
    3.  ข้อ  ข  อย่างเดียว     4.  ข้อ  ก  อย่างเดียว
เฉลยข้อ  4


4.ระบบกระดานสนทนาหรือเว็บบอร์ดแห่งหนึ่งมีความต้องการดังนี้
ก.  ต้องให้ผู้ใช้สามารถตั้งกระทู้โต้ตอบกันได้โดยผู้ใช้
ต้องแสดงตัวตน(ล็อกอิน)เพื่อเข้าระบบก่อน
ข.  ผู้ใช้สามารถตั้งกระทู้หรือเข้าไปตอบกระทู้ที่ตั้งไว้แล้วได้
ค.  ระบบจะบันทึกชื่อผู้ตั้งและผู้ตอบไว้ด้วย
ในการออกแบบฐานข้อมูลดังกล่าวข้อใดกล่าวได้ถูกต้อง.
    1.  ต้องสร้างตารางผู้ใช้ ตารางกระทู้และตารางคำตอบ
    2.  ไม่ต้องสร้างตารางผู้ใช้เนื่องจากสามารถบันทึกชื่อ
    ผู้ใช้ในตารางกระทู้และตารางคำตอบได้เลย
    3.  ต้องสร้างตารางผู้ใช้และตารางกระทู้ส่วนคำตอบจะอยู่
    ในตารางกระทู้อยู่แล้ว
    4.  ไม่ต้องสร้างตารางกระทู้เพราะสามารถบันทึกกระทู้ที่ผู้ใช้
    ตั้งในตารางผู้ใช้ได้เลย
เฉลยข้อ  4


5.อุปกรณ์ข้อใดคือหน่วยประเมินผลกลางของคอมพิวเตอร์.
เฉลย  CPU


6.ข้อใดเป้นการปฏิบัติที่ถูกต้องตามหลักวิชาการเมื่อค้นคว้า
หาข้อมูลจากอินเทอร์เนตมาทำรายงาน.
    1.  คัดลอกเนื้อหาจากเว็บไซต์
    2.  ใช้เนื้อหาจากกระดานสนทนา(Web board)มาใส่ในรายงาน
    3.  นำรูปภาพจากเว็บไซต์มาใส่ในรายงาน
    4.  อ้างอิงชื่อผู้เขียนบทความ
เฉลยข้อ  4


5.ห้องสมุดแห่งหนึ่งต้องการพัมนาระบบยืมหนังสือโดยสามารถ
บันทึกข้อมูลการยืมหนังสือลงบนบัตรอิเลคโทรนิกส์โดยไม่ต้อง
เขียนด้วยมือระบบนี้ควรใช้เทคโนโลยีในข้อใด.
    
1.  Smart  Card          2.  Fingerprint
    3.  Barcode                 4.  WiFi
เฉลยข้อ  3


6.ผู้ประกอบอาชีพเป็นผู้พัฒนาเว็บไซต์ต้องเชี่ยวชาญความรู้
ด้านใดบ้างจากตัวเลือกต่อไปนี้.
ก.  ฮาร์แวร์คอมพิวเตอร์       ข.  ระบบปฎิบัติการ
ค.  เว็บเซิร์ฟเวอร์                   ง.  HTML
จ.  ระบบฐานข้อมูล                ฉ.  ภาษาจาวา(Java)
    1.  ข้อ  ก และ ค                    2.  ข้อ  ข  และ  จ
    3.  ข้อ  ค  และ  ง                   4.  ข้อ  ค  และ  ฉ
เฉลยข้อ  3


7.ข้อใดเป็นเทคโนโลยีการเชื่อมต่อข้อมูลไร้สายทั้งหมด.
    1.  Wi-Fi  ,  IP              2.  Wi-Fi  ,Bluetooth
    3.  3G  ADSL                4.  3G    Ethernet
เฉลยข้อ  2


8.ข้อใดไม่ใช่ข้อเสียของการละเมิดลิขสิทธิ์ซอฟต์แวร์.
    1.  การทำผิดกฏหมายลิขสิทธิ์มีความผิดทางอาญา
    2.  เป็นช่องทางหนึ่งในการระบาดของไวรัสคอมพิวเตอร์
    3.  ผู้ใช้จะไม่ได้รับการบริการจากผู้พัมนาถ้าหากมีปัญหาการใช้งาน
    4.  ทำให้ผู้พัมนาซอฟแวร์ไม่มีรายได้เพื่อประกอบการและพัฒนาต่อไปได้
เฉลยข้อ  2


9.ข้อใดต่อไปนี้ถูกต้องที่สุด.
    1.  การบันทึกข้อมูลลงแผ่นดีวีดีใช้เทคโนโลยีแบบแม่เหล็ก
    2.  หมายเลขไอพีเป็นหมายเลขที่ใช้กำกับ  Network Interce Card
    3.  หน่วยความจำสำรองเป็นหน่วยความจำที่มีคุณลักษณะแบบ Volntile
    4.  รหัส ACIIและEBCIDICเป็นการวางรหัสตัวอักษรที่ใช้ขนาด  8 บิด
เฉลยข้อ  3 


10. ซอฟต์แวร์นำเสนอ
    1. word processing software
    2. spreadsheet software
    3. database management software
    4. presentation software

เฉลยข้อ  4

 ที่มา : https://krupaga.wordpress.com/category/

วันพุธที่ 26 พฤศจิกายน พ.ศ. 2557

ฟังก์ชั่น PHP : ฟังก์ชั่นที่สร้างขึ้นมาเอง

     เป็นฟังก์ชั่นที่สร้างขึ้นมาเอง เพื่อให้ทำงานนอกเหนือจากฟังก์ชั่นที่มีอยู่ใน PHPหรือเราต้องการให้โปรแกรมทำงานตรงกับความต้องการของเรา รูปแบบการเขียนฟังก์ชั่นเป็นดังนี้





<?php
    function ชื่อฟังก์ชั่น (ค่าที่ส่งให้) {
        การทำงานของฟังก์ชั่น
    }
?>
ลองดูตัวอย่างการสร้างฟังก์ชั่นชื่อ cmdevhub() กันครับ








<?php
    function cmdevhub() {
        echo "welcome to cmdevhub";
    }

    // เราสามารถเรียกฟังก์ชั่นได้โดยเรียกจากชื่อฟังก์ชั่น

    cmdevhub(); // พิมพ์ welcome to cmdevhub
?>
เห็นไหมครับ ไม่ยากเลย ส่วนข้อกำหนดในการสร้างฟังก์ชั่นนั้นก็เหมือนกันการสร้างตัวแปรเลยครับ ถ้าหากจำไม่ได้ก็ย้อนกลับไปดูได้เลย
หลังจากเราสร้างฟังก์ชั่นได้แล้ว ฟังก์ชั่นของเราจะไม่มีประโยชน์อะไรเลยถ้าหากไม่สามารถรับค่าเพื่อใช้คำนวนตามที่เราต้องการได้ การส่งค่าให้ฟังก์ชั่นทำการคำนวนนั้นมี 2 รูปแบบคือ ส่งค่าไปตรงๆ เลย และ ส่งค่าอ้างอิงตำแหน่งของตัวแปรส่วนวิธีการรับค่าของฟังก์ชั่นทำได้โดยใส่ตัวแปรเข้าไปใน ( ) มาดูตัวอย่างกัน
2.1 การส่งค่าโดยตรง











<?php
    function cArea($r) {    // ฟังก์ชั่นหาพื้นที่วงกลม
        echo $r * 22 / 7;
    }
    function sArea($h, $w) {    // ฟังก์ชั่นหาพื้นที่สี่เหลี่ยม
        echo $h * $w;
    }

    cArea(15);  // ผลลัพท์ 47.1428571429
    echo "<br />";
    sArea(3, 15); // ผลลัพธ์ 45
?>
เราสามารถส่งค่าไปให้ฟังก์ชั่นโดยใช้ค่าที่อยู่ในตัวแปรส่งไปได้ด้วย








<?php
    function sArea($h, $w) {
        echo $h * $w;
    }

    $width = 12;
    $height = 3;
    sArea($width, $height);
?>
ถ้าหากส่งค่าให้ฟังก์ชั่นมากเกินกว่าที่ฟังก์ชั่นรับไว้ ค่าที่เกินมา จะไม่ถูกนำไปใช้งาน แต่ถ้าหากส่งค่าไปไม่ครบจะเกิดข้อผิดพลาด Warning: Missing argumentตรงนี้ก็ระวังกันด้วยนะครับ
2.2 การส่งค่าอ้างอิงตำแหน่งตัวแปร
โดยปกติการส่งค่าให้ฟังก์ชั่นจะทำการส่งค่าของตัวแปรนั้นๆ เข้าไปยังฟังก์ชั่นเลย ถ้าหากต้องการผลลัพธ์ของการคำนวนก็ทำการคืนค่า (return) กลับมา แต่เราสามารถเขียนให้ง่ายกว่านั้นได้อีก โดยการส่งตำแหน่ง (address) ของตัวแปรนั้นเข้าไปยังฟังก์ชั่นแทน ก็สามารถทำการคำนวนและเปลี่ยนค่าของตัวแปรที่เราต้องการได้โดยไม่ต้องทำการคืนค่ากลับออกมา ตัวอย่างที่ผมใช้บ่อยและใช้ตลอดก็คือการคำนวนภาษี (ยังหาโปรแกรมอื่นๆ ที่ใช้ฟังก์ชั่นแบบนี้ไม่ได้เลย) ลองดูตัวอย่างกันครับ













<?php
    function cal_tax(&$cost, $tax) {
        $cost += $cost * $tax;
    }

    $cost = 200;
    $tax = 0.07;

    echo "จำนวนเงินก่อนคำนวนภาษี " . $cost; // ผลลัพธ์ 200
    echo "<br />";

    cal_tax($cost, $tax);

    echo "จำนวนเงินหลังคำนวนภาษี " . $cost; // ผลลัพธ์ 214
?>
จะเ้ห็นว่า เราสามารถเปลี่ยนตัวแปร $cost โดยไม่ต้องทำการคืนค่าในฟังก์ชั่นเลย จริงๆ แล้ว ตัวอย่างด้านบนสามารถเขียนได้อีกแบบดังนี้















<?php
    function cal_tax($cost, $tax) {
        $cost += $cost * $tax;
        return $cost;
    }

    $cost = 200;
    $tax = 0.07;

    echo "จำนวนเงินก่อนคำนวนภาษี " . $cost;
    echo "<br />";

    $cost = cal_tax($cost, $tax);

    echo "จำนวนเงินหลังคำนวนภาษี " . $cost;
?>
ซึ่งผลลัพธ์ที่ได้จะเหมือนกันทุกอย่าง แต่การเรียกใช้งานจะไม่เหมือนกัน จุดนี้ก็แล้วแต่ล่ะครับ ว่าจะเลือกใช้วิธีไหน ถ้าหากทำงานเ็ป็นทีม การใช้งานฟังก์ชั่นที่คืนค่ากลับมาจะเข้าใจได้ง่ายกว่า แต่ถ้าหากทำงานไม่กี่คน หรือแค่คนเดียว การอ้างอิงหน่วยความจำจะทำให้โค๊ดสั่นกว่า และเข้าใจยากกว่า (ถ้าหากเราลืม อิอิ) เอาเป็นว่า รู้ไว้เฉยๆ ก็ได้ครับ เพราะบางทีเราอาจจะไม่ได้เขียนฟังก์ชั่นแบบนี้เลยก็ได้ (แต่ลองใช้แล้วจะติดใจ)
2.3 การกำหนดค่าเริ่มต้นให้ฟังก์ชั่น
ในการสร้างฟังก์ชั่นที่ทำการรับค่านั้น เราจำเป็นที่จะต้องส่งค่าให้กับฟังก์ชั่นนั้นๆ จนครบตามจำนวนที่กำหนดไว้ ถ้าหากส่งค่าไม่ครบจะเกิดข้อผิด Warning: Missing argument ขึ้น หรือ ถ้าเราต้องการสร้างฟังก์ชั่นที่เรารู้ค่าที่ใช้คำนวณอยู่แล้ว เช่นฟังก์ชั่นที่คิดภาษีที่เรารู้อยู่แล้วว่าต้องคิดที่ 7% แต่ต้องการให้สามารถเปลี่ยนค่าได้โดยที่ไม่ต้องแก้ไขฟังก์ชั่นใหม่ ก็สามารถทำการกำหนดค่าเริ่มต้นขึ้นมาได้เลย ลองดูตัวอย่างกัน











<?php
    function cal_tax(&$cost, $tax = 0.07) {
        $cost += $cost * $tax;
    }
    $cost = $cost1 = 200;
    echo "จำนวนเงินก่อนคำนวนภาษี " . $cost;
    echo "<br />";
    cal_tax($cost);
    echo "จำนวนเงินหลังคำนวณภาษี " . $cost;
    echo "<hr />";
    echo "คิดภาษีที่ 10%";
    echo "<br />";
    echo "จำนวนเงินก่อนคำนวณภาษี " . $cost1;
    echo "<br />";
    cal_tax($cost1, 0.1);
    echo "จำนวนเงินหลังคำนวณภาษี " . $cost1;
    echo "<br />";
?>
จากตัวอย่าง ทำการผสมผสานกันระหว่างการเรียกฟังก์ชั่นโดยใช้อ้างอิงตำแหน่งตัวแปร กับการกำหนดค่าเริ่มต้นให้ฟังก์ชั่น จะเห็นได้ว่า เราเรียกฟังก์ชั่นครั้งแรกโดยไม่ส่งค่าไปแค่ตัวเดียวคือตำแหน่งของตัวแปร $cost เราได้ทำการกำหนดค่าเริ่มต้นให้ตัวแปร $tax แล้วทำให้ตัวแปร $tax มีค่า 0.07 ตามที่เรากำหนดไว้ แต่พอเรียกครั้งที่สองเราได้ส่งค่า 0.1 ให้กับตัวแปร $tax ด้วย ทำให้ค่าของตัวแปร $tax ถูกเปลี่ยนจาก 0.07 เป็น 0.1 แทน
2.4 การคืนค่าของฟังก์ชั่น
ในการสร้างฟังก์ชั่นขึ้นมาใช้งานนั้น ถ้าหากไม่มีการส่งค่ากลับคืนมาเมื่อทำงานเสร็จ ฟังก์ชั้นนั้นก็แทบจะไม่มีประโยชน์อะไรเลย เนื่องจากไม่สามารถนำค่าที่ฟังก์ชั่นคำนวนได้กลับมาใช้งาน การคืนค่าของฟังก์ชั่น สามารถทำได้โดยใช้คำสั่ง returnโดยสามารถคืนค่าจากผลลัพธ์การคำนวณได้หนึ่งค่า หรือถ้าต้องการคืนหลายๆ ค่าพร้อมกัน สามารถใช้ตัวแปรแบบ array หรือ list ก็ได้ ลองดูตัวอย่างกันครับ
การคืนค่าหนึ่งค่า
<?php
    function cal_tax($cost, $tax = 0.07) {
        $cost += $cost * $tax;
        return $cost;
    }

    $cost = 200;
    echo "ค่าก่อนคำนวนภาษี " . $cost;
    $cost = cal_tax($cost);
    echo "<br />";
    echo "ค่าหลังคำนวนภาษี " . $cost;
?>
การเรียกใช้งานฟังก์ชั่นที่มีการคืนค่านั้น จำเป็นต้องมีตัวแปร หรือคำสั่งใดๆ รองรับการคืนค่านั้นๆ ไม่เช่นนั้นแล้ว ค่าที่คืนกลับมา ก็ไม่สามารถนำไปใช้งานใดๆ ได้เลย
การคืนค่าหลายค่า
การคืนค่าหลายๆ นั้น ต้องทำให้ตัวแปรนั้นเป็น array ก่อน โดยจะสร้างให้ตัวแปรนั้นเป็น array หรือใช้คำสั่ง list() ในการรับค่าก็ได้ ตัวอย่างการใช้ฟังก์ชั่น list()
<?php
    $color = array('red', 'green',' blue');
    list($red, $green, $blue) = $color;
    // ตัวแปร $red เก็บค่า red, $green เก็บค่า green, $blue เก็บค่า blue
?>
ตัวอย่างการใช้งานฟังก์ชั่นที่คืนค่าแบบ array

<?php
    function user() {
        $name[] = "POP EYE";
        $name[] = "shikimasan[a]gmail[dot]com";
        $name[] = "www.cmdevhub.com";
        return $name;
    }
    // รับค่าโดยใช้ฟังก์ชั่น list ต้องทำการสร้างตัวแปรรับค่าให้ตรงกับค่าที่คืนกลับมา
    list($name, $email, $web) = user();

    // รับค่าโดยใช้ตัวแปร ทำให้ตัวแปรนั้นถูกเปลี่ยนเป็นแบบ array โดยอัตโนมัติ
    $name = user();

    // การอ้างอิงค่าต้องทำการอ้างอิงจาก index ของ array โดยตรง
    echo $name[0];
    echo $name[1];
?>
จากตัวอย่างจะเห็นได้ว่าเราสามารถรับค่าจากฟังก์ชั่นที่คืนค่าเป็น array ได้ทั้ง 2แบบ แต่ในการใช้งานจริงๆ จะใช้ฟังก์ชั่น list() รับค่ามากกว่า เพราะต้องกำหนดตัวแปรให้กับค่าที่คืนมาแต่ละค่า ซึ่งจะสื่อความหมายมากกว่ารับค่าโดยใช้ตัวแปรและอ้างอิงโดยใช้หมายเลข index อ้างอิง
2.5 ฟังก์ชั่นซ้อนฟังก์ชั้น (Nesting Function)
ในภาษา PHP เราสามารถสร้างฟังก์ชั่นขึ้นมาภายในฟังก์ชั่นอีกทีได้ แบบตัวอย่าง
<?php
    function cal_tax ($price, $tax) {
        function cal_vat ($total) {
            return $total * 0.07;
        }
        $price += $price * $tax;
        echo "จำนวนเงินทั้งหมดหลังรวมภาษี " . $price . "                         
หลังรวมภาษีมูลค่าเพิ่ม " . ($price + cal_vat($price));
    }
    cal_tax(1500, 0.1); // ผลลัพธ์ 1650 , 1765.5
    echo "<br />";
    echo cal_vat(100);  // ผลลัพธ์ 7
?>
Nesting Function ของภาษา PHP ไม่มีการกำหนดระดับของการเข้าถึง (scope) ทำให้ไม่ว่าจะเขียนฟังก์ชั่นไว้ที่ไหน ก็สามารถเรียกใช้ได้ การเขียนแบบนี้ ไม่ค่อยได้ใช้ในชีวิตจริงเท่าไหร่ แต่ก็ให้รู้ไว้ว่าเราสามารถสร้างฟังก์ชั่นแบบนี้ได้ เผื่อเอาไปสอบ CERT นะครับ
2.6 ฟังก์ชั่นเรียกตัวเอง (Recursive Function)
ฟังก์ชั่นเรียกตัวเอง ใช้สำหรับทำงานซ้ำๆ กันโดยที่เราไม่รู้จำนวนรอบในการทำงาน โดยจะมีจุดสิ้นสุดการทำงานอยู่ในฟังก์ชั่นเองอยู่แล้ว เพื่อให้ฟังก์ชั่นหยุดการทำงาน การเขียนฟังก์ชั่นแบบเรียกตัวเอง จะลดระยะเวลาในการเขียนโปรแกรมไปได้อย่างมาก แต่ปัญหาคือการออกแบบและเขียนได้ยากมาก ทำให้ไม่ค่อยได้เห็นคนเขียนฟังก์ชั่นแบบนี้กันเท่าไหร่ เรามาดูตัวอย่างฟังก์ชั่นเรียกตัวเองที่เขียนกันบ่อยๆ 2ตัวอย่างกัน
<?php
    function fibo($num) {
        if ($num == 1 || $num == 2) {
            return 1;
        }
        else {
            return fibo($num - 1) + fibo($num - 2);
        }
    }

    echo fibo(20);
?>
ตัวอย่างแรกเป็นตัวเลข Fibonacci การใช้งานคือ เรียกฟังก์ชั่น fibo() แล้วใส่ตัวเลขตำแหน่งหลักที่ต้องการเข้าไปเช่น fibo(20) หมายถึงตัวเลขfibonacci ในตำแหน่งที่ 20
<?php
    function fac($num) {
        if ($num == 0 || $num == 1) {
            return 1;
        }
        else {
            return fac($num - 1) * $num;
        }
    }

    echo fac(5);
?>
ตัวอย่างที่สองเป็นตัวเลข Factorial หรือ n! การทำงานก็คล้ายๆ กับfibonacci แต่ผลลัพธ์ที่ได้จะเป็นค่าของ n! เลย
จะเห็นว่า ถ้าหากเราเขียนโปรแกรมแบบปกติ จะต้องมีการใช้คำสั่งวนรอบมาเกี่ยวข้อง แต่ถ้าใช้ฟังก์ชั่นเรียกตัวเองเราไม่ต้องใช้คำสั่งวนรอบเข้ามาเกี่ยวข้องกับการทำงานของฟังก์ชั่นเลย แต่จะต้องมีเงื่อนไขในการจบฟังก์ชั่นที่แน่นอนด้วย