วันอังคารที่ 24 พฤศจิกายน พ.ศ. 2558

อะไรเป็นสาเหตุที่ทำให้คนเป็นเกย์?



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

ที่มา :  http://www.bloggang.com/viewblog.php?id=cartoonthai&date=16-07-2013&group=178&gblog=355

ประเภทเกย์



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

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

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

ที่มา :  http://board.postjung.com/666703.html

เกย์


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

ในประเทศไทยมีการใช้คำว่าเกย์คิงและเกย์ควีน โดยทั่วไปเกย์คิงมักหมายถึงเกย์ที่ใช้อวัยวะเพศกับทวารหนักของเกย์อื่น และเกย์ควีนมักหมายถึงเกย์ที่เป็นฝ่ายถูกร่วมเพศทางทวารหนัก

ที่มา: https://th.wikipedia.org/wiki/

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

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

เฉลยข้อ  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. TERMINAL                         2. ROM 
3.  RAM                                  4. BIT

เฉลยข้อ  3


คำสั่ง SQL เบื้องต้น

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

1. คำสั่งสำหรับนิยามข้อมูล
                       
 คำสั่งสำหรับนิยามข้อมูล เป็นคำสั่งที่เกี่ยวข้องกับการสร้างฐานข้อมูล การสร้างและแก้ไข รวมทั้งการลบ
โครงสร้างตาราง มีรายละเอียด ดังนี้

          1.1  คำสั่งสำหรับการสร้างฐานข้อมูล ตัวอย่าง การสร้างฐานข้อมูลชื่อ “CRM” มีคำสั่ง ดังนี้
                      CREATE  DATABASE  CRM;

          1.2  คำสั่งสร้างโครงสร้างตาราง ตัวอย่างให้สร้างโครงสร้างตารางชื่อ CUSTOMER 
ตามพจนานุกรมข้อมูล เขียนคำสั่งได้ ดังนี้
                       CREATE  TABLE CUSTOMER(
                       CUS_CODE     VARCHAR(13)  NOT NULL,
                        CUS_NAME  VARCHAR(50)  NOT NULL,
                        ADDRESS   VARCHAR(255) NOT NULL,
                         PHONE     VARCHAR(20),
                         EMAIL    VARCHAR(50)
                         PRIMARY KEY(CUS_CODE));

สร้าง table
 mysql > create table <ชื่อtable> (<ชื่อข้อมูล> <ชนิดข้อมูล>, ... );     ชนิดข้อมูล เช่น
VARCHAR(n) - ข้อมูลชนิด string เก็บแบบ linked list เหมาะสมกับข้อมูลที่มีความยาวที่ไม่แน่นอน
CHAR(n) - ข้อมูลชนิด string เก็บแบบ array เหมาะสมกับข้อมูลที่มีความยาวที่แน่นอน
INT - จำนวนเต็ม
DATE - ข้อมูลชนิดพิเศษของ SQL ใช้เก็บวันที่ มีรูปแบบเป็น YYYY-MM-DD
การใส่ข้อมูลลงไปใน table

1.ใช้คำสั่ง load data จากไฟล์ที่เราเตรียมไว้ โดย default จะแบ่งเนื้อหาโดยใช้ tab แบบนี้จะ
มีปัญหาเรื่องการใช้ข้อมูลชนิด NULL ซึ่งใช้ \N แทน
mysql > load data local infile ‘natsu.txt’ into table pet;

2.INSERT ใส่ทีละข้อมูล เหมาะกับข้อมูลที่น้อยๆ ที่เราเพิ่มเติมเข้าไป เช่น
mysql > INSERT INTO pet VALUES (‘natsusencho’, ‘1992-03-25’, ‘M’);

3.ทำ SQL script คือเตรียมไฟล์คำสั่ง sql ไว้แล้วนำมาทำการ source ทีเดียวเช่น
mysql > INSERT INTO pet VALUES (‘natsusencho’, ‘1992-03-25’, ‘M’);
  ---- file natsu.sql ----
CREATE TABLE IF NOT EXISTS human (
       name   VARCHAR(20),
       birth DATE, 
sex CHAR(1) );
INSERT INTO human VALUES 
      ( 'NatsuSencho',   '1992-03-25', 'M'),
      ( 'Slime',   '1999-03-03', NULL ),
  ( ‘HeyFemale’ , ‘1993-12-25’ , ‘F’);
----- file natsu.sql -----
หลังจากสร้างเสร็จแล้วก็ลองใช้คำสั่ง
mysql > source natsu.sql;
 ก็จะได้ตาราง world หน้าที่มีข้อมูล 3 ตัว
create table IF NOT EXISTS human
คำว่า IF NOT EXISTS หมายถึงการสร้าง table 


          1.3 คำสั่งแก้ไขโครงสร้างตาราง ตัวอย่างการเพิ่มแอตทริบิวต์  PROVINCE ในตาราง CUSTOMER  เขียนคำสั่งได้ ดังนี้                      
                            ALTER  TABLE           CUSTOMER
                             ADD (PROVINCE   VARCHAR(60));


          1.4  คำสั่งลบโครงสร้างตาราง ตัวอย่างการลบตาราง CUSTOMER  เขียนคำสั่งได้ดังนี้                               DROP  TABLE  CUSTOMER;


2. คำสั่งสำหรับการจัดการข้อมูล       คำสั่งสำหรับการจัดการข้อมูล ใช้สำหรับจัดการข้อมูลต่างๆ ได้แก่ การแทรกข้อมูลเข้าสู่ตาราง การแก้ไขข้อมูลการลบข้อมูล ตลอดจนการเลือกข้อมูลขึ้นมาแสดง เป็นต้น

          2.1 คำสั่งแทรกข้อมูล ตัวอย่างการแทรกข้อมูลรหัสลูกค้าหมายเลข 230 ชื่อ สกุล คมกฤช  เจริญ ที่อยู่ 14/12 ถ.กาญจนวนิช ต.เขารูปช้าง อ.เมือง จ.สงขลา หมายเลขโทรศัพท์ 074324432 อีเมล์  krid@hotmail.com  เข้าสู่ตาราง CUSTOMER เขียนคำสั่งได้ดังนี้
                INSERT  INTO  CUSTOMER
                (CUS_CODE, CUS_NAME, ADDRESS, PROVINCE, PHONE,
                EMAIL)VALUES(‘230’, ‘คมกฤช เจริญ’, ‘14/12 ถ.กาญจนวนิช ต.เขารูปช้าง 

                อ. เมือง’,  สงขลา’, ‘074324432’, ‘krid@hotmail.com’);
           
          2.2  คำสั่งแก้ไขข้อมูล ตัวอย่างการแก้ไขหมายเลขโทรศัพท์ของคมกฤช เจริญ เป็น 074312726 และอีเมล์เป็น komkrid.j@yahoo.com  เขียนคำสั่งได้ ดังนี้        
                              
                                     UPDATE  CUSTOMER SET
                                                  PHONE = ‘074312726’,
                                                  EMAIL = ‘krid.j@yahoo.com’
                                      WHERE  CUS_CODE = ‘230’;
            

          2.3  คำสั่งลบข้อมูล ตัวอย่างการลบข้อมูลจากตาราง CUSTOMER เฉพาะข้อมูลของลูกค้าที่ชื่อคมกฤช เจริญ เขียนคำสั่งได้ ดังนี้
                        DELETE FROM CUSTOMER  WHERE CUS_CODE = ‘230’;


      2.4 คำสั่งเลือกหรือค้นหาข้อมูล ตัวอย่างการแสดงข้อมูลลูกค้าทั้งหมดที่อยู่ในเขตจังหวัดสงขลา สามารถเขียนคำสั่งได้ ดังนี้  
                        SELECT  *  FROM  CUSTOMER  WHERE  PROVINCE = ‘สงขลา’;

ที่มา :http://natsusencho.blogspot.com/2012/08/sql-language.html

ฟังก์ชั่น PHP

ฟังก์ชัน (Functions) คือ กลุ่มหรือชุดของคำสั่งที่สร้างขึ้นเพื่อทำหน้าที่หนึ่งๆ เมื่อต้องการใช้งาน
ก็เพียงเรียกชื่อฟังก์ชันนั้นก็สามารถใช้งานได้ทันที ฟังก์ชันใน PHP สามารถแบ่งได้เป็น 2 ชนิด คือ 
1) ฟังก์ชันมาตรฐาน (Built-in Functions) และ 2) ฟังก์ชันที่ผู้ใช้งานเป็นผู้สร้างเอง (User Defined Functions) มีรายละเอียด ดังนี้

  • ฟังก์ชันมาตรฐาน (Built-in Functions)

ฟังก์ชันมาตรฐาน คือ ฟังก์ชันที่มาพร้อมกับ PHP สามารถเรียกใช้งานได้ทันทีฟังก์ชันมาตรฐานมี
หลายกลุ่มการทำงาน สามารถจำแนกตามหน้าที่ ดังนี้

  1.  ฟังก์ชันที่เกี่ยวกับวันที่และเวลา
  2.  ฟังก์ชันที่เกี่ยวกับการค านวณทางคณิตศาสตร์
  3. ฟังก์ชันที่เกี่ยวกับการติดต่อกับฐานข้อมูล
  4. ฟังก์ชันที่เกี่ยวกับการจัดการกับกับสตริงหรือข้อความ

การเรียกใช้งานฟังก์ชันมาตรฐานของ PHP

ในการเรียกใช้งานฟังก์ชันจะต้องตรวจสอบก่อนว่าฟังก์ชันนั้นๆ เป็นฟังก์ชันเพื่อทำหน้าที่อะไร มี
การรับส่งค่าตัวแปรระหว่างฟังก์ชันหรือไม่ ถ้าไม่มีการรับส่งค่าระหว่างฟังก์ชัน ก็สามารถเรียกใช้งานได้
เลย แต่ถ้ามีการรับส่งค่าระหว่างฟังก์ชัน ก็จะต้องมีการระบุค่าพารามิเตอร์ ให้ถูกต้องตามรูปแบบที่ฟังก์ชันกำหนด
   ตัวอย่าง รูปแบบฟังก์ชันที่ไม่มีการรับส่งค่าระหว่างฟังก์ชัน
 function_name ( );
   ตัวอย่าง รูปแบบฟังก์ชันที่มีการรับส่งค่าระหว่างฟังก์ชัน
 function_name ($value1, $value2);
   ตัวอย่าง  การเรียกใช้งานฟังก์ชันมาตรฐาน 
<?php 
             $today = date("d/m/Y");           // เรียกใช้งานฟังก์ชัน date(); พร้อมระบุค่าอากิวเมนต์
             echo $today;                            // แสดงผลลัพธ์ เป็นวันที่ปัจจุบัน เช่น 6/7/2012 เป็นต้น 
?>
การสร้างฟังก์ชัน
ลักษณะของงานที่จะนำมาสร้างเป็นฟังก์ชันนั้น ควรเป็นงานหรือการกระทำอย่างใดอย่างหนึ่ง ที่
มักจะต้องทำซ้ำๆ และบ่อยครั้ง เพื่อให้ไม่ต้องเขียนคำสั่งหรือชุดคำสั่งนั้นๆ ทุกครั้งที่ต้องการทำงาน
แบบเดิม ซึ่งสามารถแยกคำสั่งบางส่วนออกมาสร้างเป็นฟังก์ชันไว้ต่างหากและนำมาทำเป็นฟังก์ชัน และ
เรียกใช้ตามลักษณะงานที่ต้องการ จะช่วยให้โค้ดคำสั่งของมีขนาดเล็กลง ช่วยลดการใช้ทรัพยากร และง่ายในการปรับปรุงแก้ไขในอนาคต เพราะสามารถแก้ไขเพียงครั้งเดียวก็จะมีผลทุกจุดที่เรียกใช้ฟังก์ชัน
รูปแบบ
<?php
              function ชื่อฟังก์ชัน (พารามิเตอร์)
             {
                          คำสั่ง;
             }
?>
** หมายเหตุ การตั้งชื่อฟังก์ชัน มีหลักเกณฑ์คล้ายกับการตั้งชื่อตัวแปร ดังนี้ 
- ต้องขึ้นต้นชื่อด้วย a-z หรือ _ เท่านั้น 
- ต้องประกอบด้วย a-z, 0-9 หรือ _ เท่านั้น 
- ต้องไม่ซ้ากับชื่อฟังก์ชันที่มีอยู่แล้วหรือฟังก์ชันมาตรฐานของ PHP 
พารามิเตอร์ คือ ตัวแปรหรือข้อมูลที่ต้องการรับจากภายนอกฟังก์ชันเข้ามาประมวลผลภายในฟังก์ชัน จะมีหรือไม่ก็ได้ ขึ้นอยู่กับว่าจาเป็นต้องใช้หรือไม่

  • ฟังก์ชันที่ผู้ใช้งานเป็นผู้สร้างเอง (User Defined Functions)

ฟังก์ชันที่ผู้ใช้งานเป็นผู้สร้างเอง คือ กลุ่มของคeสั่งที่ผู้ใช้เป็นผู้เขียนหรือพัฒนาขึ้นมาเอง เพื่อ
ทำงานหรือทำหน้าที่อย่างใดอย่างหนึ่งตามต้องการจากที่ได้กล่าวถึงในข้างต้น สรุปได้ว่า หลักๆ แล้วฟังก์ชันมีอยู่ด้วยกัน 2 ประเภท ทั้ง 2 ประเภท ก็จะมีฟังก์ชันที่ประกอบไปด้วย ฟังก์ชันที่ไม่มีการส่งค่าระหว่างฟังก์ชัน และฟังก์ชันที่มีการส่งค่าระหว่างฟังก์ชัน ค่าที่ใช้รับส่งระหว่างฟังก์ชัน จะเรียกว่า พารามิเตอร์ (parameter) หรือบ้างก็เรียกว่า อากิวเมนต์ (argument) 
การเรียกใช้ฟังก์ชันที่สร้างเอง
การเรียกใช้ฟังก์ชันที่สร้างเองสามารถทำได้เช่นเดียวกับการใช้ฟังก์ชันมาตรฐานของ PHP คือ ต้องระบุชื่อฟังก์ชันที่ต้องการใช้งานโดยระบุข้อมูลที่จะส่งให้กับฟังก์ชัน (ถ้ามี) ดังตัวอย่าง
  ตัวอย่าง การสร้างฟังก์ชัน 
<?php 
           function generateFooter ($msg)
           { 
                            printf ("<p><font color=red> %s <font></p>",$msg);
           } 
?>

  ตัวอย่าง  การเรียกใช้ฟังก์ชันที่สร้างเอง 
<?php 
               generateFooter ("Copyright 2012 Mr.Parinya Noidonprai"); 
?>


  • ฟังก์ชันแบบมีการส่งค่าพารามิเตอร์

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

กำหนดค่าพารามิเตอร์ที่ต้องใช้บ่อยๆ ไว้ล่วงหน้า หรือป้องกันปัญหาในกรณีที่ไม่ได้กหนดค่าพารามิเตอร์ให้กับฟังก์ชัน เมื่อมีการเรียกใช้ฟังก์ชันหากไม่มีการส่งค่าพารามิเตอร์มาให้ฟังก์ชัน ฟังก์ชันจะเรียกใช้ค่าเริ่มต้นที่กำหนดไว้ให้แทน รูปแบบการกำหนดพารามิเตอร์แบบกำหนดค่าเริ่มต้น มีรายละเอียด ดังนี
รูปแบบ
<?php
                function ชื่อฟังก์ชัน (ชื่อพารามิเตอร์ = ค่าเริ่มต้น) {
                           คำสั่ง;
                }

?>

  • พารามิเตอร์แบบส่งค่าและอ้างอิง (Passing Parameter by Value and Reference)

      ปกติแล้วค่าที่ถูกส่งไปยังฟังก์ชันจะเป็นแบบส่งค่า (by Value) คือ เมื่อมีการเปลี่ยนแปลงค่าของ
ตัวแปรภายในฟังก์ชันจะไม่ส่งต่อค่าตัวแปรตัวเดียวกันที่อยู่นอกฟังก์ชัน ทุกตัวอย่างก่อนหน้าในเรื่อง
ฟังก์ชันนี้ใช้วิธีการผ่านค่าพารามิเตอร์แบบส่งค่าทั้งหมด
       การส่งผ่านค่าแบบอ้างอิง (by Reference) นั้น หากในฟังก์ชันมีการเปลี่ยนแปลงค่าของตัวแปร
ภายในฟังก์ชันจะส่งผลให้ค่าของตัวแปรที่อ้างอิงกันนอกฟังก์ชัน ทำให้มีค่าเปลี่ยนตามไปด้วย การส่งผ่านค่าแบบอ้างอิงสามารถทำได้โดยการใส่เครื่องหมาย & ไว้หน้าพารามิเตอร์ตัวที่ต้องการอ้างอิง


  • การส่งค่ากลับจากฟังก์ชันด้วยคำสั่ง return

เนื่องจากฟังก์ชันจะใช้ในการประมวลผลอย่างใดอย่างหนึ่ง โดยฟังก์ชันมักจะถูกเรียกใช้โดยส่วน
ต่างๆ ของโปรแกรม เพื่อประมวลผลตามหน้าที่ต่างๆ ของฟังก์ชัน ในบางครั้งฟังก์ชันอาจจำเป็นต้องส่งค่าผลลัพธ์ของการทำงานกลับไปยังส่วนที่เรียกใช้ฟังก์ชันนั้นๆ หรือสามารถประยุกต์ใช้ส าหรับการตรวจสอบการทำงานของฟังก์ชัน เช่น ท างานปกติอาจส่งค่ากลับเป็นเลข 1 ท างานไม่ถูกต้องส่งค่ากลับเป็นเลข 2 หรืออื่นๆ ตามต้องการ เป็นต้น ส าหรับวิธีการส่งค่ากลับออกไปจะใช้ค าสั่ง return แล้วตามด้วยค่าที่ต้องการส่งออกไป 
   รูปแบบ

      return ค่าที่จะส่งกลับ;