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
ข้อใดคือการขำระเงินค่าสินค้าและบริการผ่านเครื่อข่ายอินเตอร์เน็ต
1. E-News 2. E-Sourcing
3. E-Learning 4. E-Payment
เฉลยข้อ 4
วันพฤหัสบดีที่ 18 ธันวาคม พ.ศ. 2557
คำสั่ง SQL
สรุปคำสั่ง SQL
ในส่วนการสรุปรูปแบบทั่วไปของประโยคคำสั่ง SQL แต่ระบบฐานข้อมูลแต่ละระบบอาจจะสนับสนุนหรือไม่สนับสนุนต้องดูคู่มือของ่ระบบฐานข้อมูลนั้นประกอบด้วย
ALTER TABLE tablename [ADD| DROP| MODIFY] columnname; (ดูเพิ่มเติม1, ดูเพิ่มเติม2 ) ใช้สำหรับการเพิ่ม, แก้ไข หรือลบ คอลัมน์ของ table และเปลี่ยนข้อความ เช่น ประเภทข้อมูล ของคอลัมน์ที่มีอยู่ การเลือก ADD, DROP หรือ MODIFY เลือกได้อย่างเดียว
COMMIT; (ดูเพิ่มเติม) บันทึกการเปลี่ยนแปลงเข้าสู่ฐานข้อมูล
CREATE [UNIQUE] INDEX indexname
ON tablename (columnname); (ดูเพิ่มเติม1, ดูเพิ่มเติม2 ) UNIQUE เป็นตัวเลือกการสร้างดัชนีแบบไม่ซ้ำ
ON tablename (columnname); (ดูเพิ่มเติม1, ดูเพิ่มเติม2 ) UNIQUE เป็นตัวเลือกการสร้างดัชนีแบบไม่ซ้ำ
CREATE TABLE tablename
(columnname1 datatype [size] [constraint], columnname2 datatype [size] [constraint], . .); (ดูเพิ่มเติม1, ดูเพิ่มเติม2) เป็นคำสั่งสร้าง table การกำหนด size ขึ้นกับประเภทข้อมูล constraint ที่สามารถกำหนดได้ คือ NULL หรือ NOT NULL, UNIQUE (บังคับให้ค่าไม่ซ้ำ), PRIMARY KEY (ระบุ primary key ของ table), CHECK (การยอมให้ตรวจสอบข้อมูลที่มีการเปลี่ยนแปลง), DEFULT (ให้แทรกค่าเมื่อมีการเพิ่มแถวข้อมูล), FOREIGN KEY (กำหนด foreign key ของ table)
(columnname1 datatype [size] [constraint], columnname2 datatype [size] [constraint], . .); (ดูเพิ่มเติม1, ดูเพิ่มเติม2) เป็นคำสั่งสร้าง table การกำหนด size ขึ้นกับประเภทข้อมูล constraint ที่สามารถกำหนดได้ คือ NULL หรือ NOT NULL, UNIQUE (บังคับให้ค่าไม่ซ้ำ), PRIMARY KEY (ระบุ primary key ของ table), CHECK (การยอมให้ตรวจสอบข้อมูลที่มีการเปลี่ยนแปลง), DEFULT (ให้แทรกค่าเมื่อมีการเพิ่มแถวข้อมูล), FOREIGN KEY (กำหนด foreign key ของ table)
CREATE VIEW tablename AS select statement; (ดูเพิ่มเติม) สร้าง view
DELETE FROM tablename WHERE condition; (ดูเพิ่มเติม) ลบข้อมูล
INSERT INTO tablename (column1, column2,..)
VALUES (value1, value2,..); (ดูเพิ่มเติม)
VALUES (value1, value2,..); (ดูเพิ่มเติม)
ROLLBACK;(ดูเพิ่มเติม) เรียกข้อมูลเดิมกลับมา จากการเปลี่ยนแปลงข้อมูลที่เกิดขึ้น โดยสามารถเรียกกลับจาก COMMIT ครั้งสุดท้าย
SELECT [ALL | DISTINCT] column1[,column2]
FROM table1[,table2]
[WHERE conditions]
[GROUP BY column-list]
[HAVING conditions]
[ORDER BY column-list [ASC | DESC] ]; (ดูเพิ่มเติม) โดย ASC | DESC ให้เลือกวิธีเรียงลำดับข้อมูล
FROM table1[,table2]
[WHERE conditions]
[GROUP BY column-list]
[HAVING conditions]
[ORDER BY column-list [ASC | DESC] ]; (ดูเพิ่มเติม) โดย ASC | DESC ให้เลือกวิธีเรียงลำดับข้อมูล
UPDATE tablename
SET column1 = value1, column2 = value2, ..
[WHERE condition]; (ดูเพิ่มเติม) ถ้าไม่มี WHERE clause จะเปลี่ยนค่าตามที่กำหนดทั้งหมด
SET column1 = value1, column2 = value2, ..
[WHERE condition]; (ดูเพิ่มเติม) ถ้าไม่มี WHERE clause จะเปลี่ยนค่าตามที่กำหนดทั้งหมด
ตัวอย่างคำสั่ง SQL ใน Visual Basic
คำสั่ง Select
คำสั่ง Select ใช้เป็นประโยคคำสั่งในการส่งออกเรคคอร์ด ตามเกณฑ์ในการเลือก
ไวยากรณ์
SELECT fieldname1, fieldname2,...
FROM tablename1, tablename2,...
[Where Condition]
[Group By]
[Having]
[Order By];
[ ] – ตัวเลือก
FROM tablename1, tablename2,...
[Where Condition]
[Group By]
[Having]
[Order By];
[ ] – ตัวเลือก
แสดงทุกฟิลด์และทุกเรคคอร์ด ใน table เดียว เช่นการข้อทั้งหมดใน table ชื่อ publishers
SELECT * FROM Publishers ;
SELECT * FROM Publishers ;
แสดงบางฟิลด์ ซึ่งชื่อฟิลด์ ที่มีเครื่องหมายพิเศษ หรือมีการเว้นวรรคให้อยู่ในวงเว็บก้ามปู [ ]
SELECT PubID, [Company Name], Address FROM Publishers;
SELECT PubID, [Company Name], Address FROM Publishers;
แสดงฟิลด์ที่เป็น expression และตั้งชื่อใหม่ (ให้ใช้ As)
SELECT Author, 2000 - [Year Born] As Age FROM Authors;
SELECT Author, 2000 - [Year Born] As Age FROM Authors;
การใช้ฟังก์ชัน aggregate
SELECT COUNT ([Year Born]) FROM Authors;
SELECT COUNT ([Year Born]) FROM Authors;
การเลือกเฉพาะเรคคอร์ด ที่ต้องการด้วย WHERE clause
SELECT Name, City FROM Publishers WHERE State = ‘CA’;
SELECT Name, City FROM Publishers WHERE State = ‘CA’;
การเลือกเฉพาะเรคคอร์ดด้วย WHERE Clause หลายเงื่อนไขต้องเชื่อมด้วย AND หรือ OR เช่น state เป็น CA และ Name ขึ้นต้นด้วย M
SELECT * FROM Publishers WHERE State = ‘CA’ AND name LIKE ‘m%’;
SELECT * FROM Publishers WHERE State = ‘CA’ AND name LIKE ‘m%’;
การเรียงและจัดกลุ่ม
การเรียงใช้ ORDER BY clause
SELECT * FROM Publishers ORDER BY [Company Name] ;
SELECT * FROM Publishers ORDER BY [Company Name] ;
การเรียงจากน้อยไปมากให้ใช้คีย์เวิร์ด DESC ต่อท้ายฟิลด์ต้องการเรียงจากน้อยไปมาก
SELECT * FROM Publishers ORDER BY State, City DESC;
SELECT * FROM Publishers ORDER BY State, City DESC;
การจัดกลุ่มใช้ GROUP BY Clause
SELECT [Year Published], Count (*) As Title In Year FROM Titles
GROUP BY [Year Published];
SELECT [Year Published], Count (*) As Title In Year FROM Titles
GROUP BY [Year Published];
ให้แสดงจำนวนหนังสือใน 10 ปีสุดท้าย
SELECT TOP 10 [Year Published], COUNT (*) As Title In Year FROM Titles
GROUP BY [Year Published] ORDER BY [Year Published] DESC;
SELECT TOP 10 [Year Published], COUNT (*) As Title In Year FROM Titles
GROUP BY [Year Published] ORDER BY [Year Published] DESC;
การคัดเลือกด้วยเขื่อนไขของ HAVING Clause เช่น แสดงเฉพาะที่มีจำนวนหนังสือมากกว่า 50
SELECT [Year Published], COUNT (*) As Title In Year FROM Titles
GROUP BY [Year Published] HAVING COUNT ((*) >50);
SELECT [Year Published], COUNT (*) As Title In Year FROM Titles
GROUP BY [Year Published] HAVING COUNT ((*) >50);
คิวรี่ย่อย
คิวรี่ย่อย เป็นการใช้ประโยคคำสั่ง Select ภายในประโยคคำสั่ง Select อีกคำสั่งสำหรับการค้นหาที่ซับซ้อน
SELECT * FROM Title WHERE Pub ID =
(SELECT pubID FROM Publishers WHERE Name = ‘MACMILLIAN’);
SELECT * FROM Title WHERE Pub ID =
(SELECT pubID FROM Publishers WHERE Name = ‘MACMILLIAN’);
JOIN
JOIN ใช้สำหรับการดึงข้อมูลจาก 2 table ที่สัมพันธ์กับผ่านฟิลด์ร่วม ถ้าแถวของ table แรกแสดงตามฟิลด์ของ table ที่สอง ให้ใช้ ON clause ในคำสั่ง JOIN
SELECT Title.Title, Titles. [Year Published], Publishers.Name FROM Titles
INNER JOIN Publishers ON Titles.PubID = Publishers.PubID
SELECT Title.Title, Titles. [Year Published], Publishers.Name FROM Titles
INNER JOIN Publishers ON Titles.PubID = Publishers.PubID
การใช้ไวยากรณ์ tablename.fieldname เช่น Titles.PubID เมื่อชื่อฟิลด์มีอยู่ใน 2 table ที่เชื่อมกัน
นอกจากมี LEFT JOIN สำหรับการแสดงเรคคอร์ดของ table แรกทั้งหมดถึงแม้จะมีเรคคอร์ดของ table แรกมีค่าของฟิลด์ที่ไม่ตรงกับฟิลด์เชื่อมของ table ที่สอง
SELECT Titles.Title, Titles.[Year Published], Publishers.Name FROM Titles
LEFT JOIN Publishers ON Titles.PubID = Publishers.PubID;
SELECT Titles.Title, Titles.[Year Published], Publishers.Name FROM Titles
LEFT JOIN Publishers ON Titles.PubID = Publishers.PubID;
RIGHT JOIN สำหรับการแสดงเรคคอร์ดของ table ที่สองทั้งหมด ถึงแม้ว่าจะมีเรคคอร์ดของ table ที่สองมีค่าของฟิลด์ที่ไม่ตรงกับฟิลด์เชื่อมของ table แรก
UNION
การนำ table 2 ต่อกัน สามารถทำได้โดยใช้คีย์เวิร์ด UNION
SELECT Name, Address, City FROM Customers
UNION SELECT CompanyName, Address, City FROM Suppliers
SELECT Name, Address, City FROM Customers
UNION SELECT CompanyName, Address, City FROM Suppliers
คำสั่ง Insert Into
คำสั่ง INERT INTO ใช้ในประโยคคำสั่งสำหรับการเพิ่มเรคคอร์ดใหม่
ไวยากรณ์
INERT INTO tablename [(fieldname1, fieldname2,...)]
VALUES (value1, value 2,...);
[ ] ตัวเลือก
INERT INTO tablename [(fieldname1, fieldname2,...)]
VALUES (value1, value 2,...);
[ ] ตัวเลือก
หมายเหตุจำนวน value ต้องเท่ากับ fieldname
INERT INTO Authors (Author, [Year Born] VALUES (‘Frank Whale’, 1960);
INERT INTO Authors (Author, [Year Born] VALUES (‘Frank Whale’, 1960);
คำสั่ง Update
คำสั่ง UPDATE ใช้ในประโยคคำสั่งสำหรับการปรับปรุงค่าในเรคคอร์ด
ไวยากรณ์
UPDATE tablename
SET fieldname = expression
WHERE [condition];
[ ] ตัวเลือก
UPDATE tablename
SET fieldname = expression
WHERE [condition];
[ ] ตัวเลือก
UPDATE Authors SET [Year Born] = 1961 WHERE Author = ‘Frank Whale’;
วันอังคารที่ 25 พฤศจิกายน พ.ศ. 2557
การส่งออกค่าจากฟังก์ชัน และ Recursion
การส่งออกค่าจากฟังก์ชัน
การส่งค่าออกจากฟังก์ชันใช้คีย์เวิร์ด return เช่นเดียวกับการออกจากฟังก์ชันได้ ถ้าไม่มีการระบุส่งออกฟังก์ชันจะส่งค่า NULL
ตัวอย่าง ฟังก์ชัน get_larger () สาธิตการส่งออกค่า
Recursion
recursion ได้รับการสนับสนุนใน PHP ฟังก์ชันชนิดนี้เป็นการเรียกตัวเองและเป็นประโยชน์กับการบังคับโครงสร้างข้อมูลไดนามิคส์ เช่น รายการเชื่อมโยงและโครงสร้างต้นไม้ (tree)
โปรแกรมประยุกต์เว็บจำนวนไม่มากต้องการโครงสร้างข้อมูลซับซ้อนมากและจำกัดการใช้ เนื่องจาก recursion ช้ากว่าและใช้หน่วยความจำมากกว่าการทำงานวนรอบ ดังนั้นควรเลือกการทำงานแบบวนรอบปกติ ถ้าเป็นไปได้
Scope
Scope
เมื่อต้องการใช้ตัวแปรภายในไฟล์ที่รวม ต้องมีการประกาศตัวแปรเหล่านั้นก่อนประโยคคำสั่ง require () หรือ include () แต่เมื่อใช้ฟังก์ชันจะเป็นการส่งผ่านตัวแปรเชิงประจักษ์เหล่านั้นไปยังฟังก์ชัน บางส่วนเป็นเพราะไม่มีกลไกส่งผ่านตัวแปรเชิงประจักษ์ไปยังไฟล์ที่รวม และบางส่วนเป็นเพราะ scope ของตัวแปรของฟังก์ชันแตกต่างกัน
การควบคุม scope ของตัวแปรเป็นการทำให้ตัวแปรมองเห็นได้ ใน PHP มีกฎตั้งค่า scope ดังนี้
- การประกาศตัวแปรภายในฟังก์ชันอยู่ใน scope จากประโยคคำสั่งซึ่งตัวแปรให้รับการประกาศภายในวงเล็บปีกกา สิ่งนี้เรียกว่า function scope ตัวแปรเรียกว่า local variable
- การประกาศตัวแปรภายนอกฟังก์ชันอยู่ใน scope จากประโยคคำสั่งซึ่งตัวแปรได้รับการประกาศที่สิ้นสุดแต่ไม่ใช้ภายในฟังก์ชัน สิ่งนี้เรียกว่า global scope ตัวแปรเรียกว่า global variable
- การใช้ประโยคคำสั่ง require () และ include () ไม่มีผลกับ scope ถ้าประโยคคำสั่งได้รับการใช้ภายในฟังก์ชัน ประยุกต์ด้วย function scope ถ้าไม่ได้อยู่ภายในฟังก์ชัน ประยุกต์ด้วย global scope
- คีย์เวิร์ด global สามารถระบุได้เองเพื่อกำหนดหรือใช้ตัวแปรภายในฟังก์ชันให้มี scope เป็น global
- ตัวแปร สามารถลบโดยการเรียก unset ($variable_name) และตัวแปรที่ unset จะไม่มี scope
- ตัวแปรระดับ superglobal สามารถเข้าถึงได้ทุกส่วนในสคริปต์
ตัวแปรระดับฟังก์ชัน
ตัวแปรระดับฟังก์ชันหรือ local variable เป็นการประกาศเพื่อใช้เฉพาะภายในฟังก์ชัน ไม่สามารถเรียกจากภายนอกฟังก์ชันได้
ตัวแปรระดับ global
ถ้าต้องการนำตัวแปรระดับ global มาใช้ภายในฟังก์ชันต้องประกาศด้วยคีย์เวิร์ด global ก่อนประโยคคำสั่งที่ใช้ตัวแปรนั้น ตัวอย่าง ฟังก์ชัน show_value() ใช้ $newline จากภายนอกฟังก์ชัน
global $newline;
ตัวแปรสถิตย์
การประกาศตัวแปรสถิตย์ใช้ คีย์เวิร์ด static เมื่อมีการเรียกใช้ฟังก์ชัน โปรแกรมจะกำหนดค่าตัวแปรตามที่ระบุเพียงครั้งเดียว ถ้าเรียกซ้ำอย่างต่อเนื่องค่านี้จะเปลี่ยนแปลงตามการคำนวณ
พารามิเตอร์
พารามิเตอร์
ตามปกติฟังก์ชันส่วนใหญ่ต้องการรับสารสนเทศจากผู้เรียกสำหรับการประมวลผล โดยทั่วไปเรียกว่า พารามิเตอร์
ไวยากรณ์พื้นฐาน
การกำหนดฟังก์ให้รับพารามิเตอร์ส่งผ่านโดยการวางข้อมูล ชื่อตัวแปรที่เก็บข้อมูลภายในวงเล็บหลังชื่อฟังก์ชัน การเรียกฟังก์ชันที่ประกอบด้วยพารามิเตอร์เขียนดังนี้
<?php
function show_parameter($param1, $param2, $param3)
{
{
echo <<<PARAM
รายการพารามิเตอร์ <br/>
param1: $param1 <br/>
param2: $param2 <br/>
param3: $param3 <br/>
PARAM;
}
?>
?>
พารามิเตอร์ที่ส่งไปยังฟังก์ชันแยกกันเครื่องหมายจุลภาคภายในวงเล็บ โดยสามารถส่งเป็นนิพจน์สำหรับแต่ละพารามิเตอร์ด้วย ตัวแปร ค่าคงที่ ผลลัพธ์จากการคำนวณ รวมถึงการเรียกฟังก์ชัน
scope ของพารามิเตอร์จำกัดภายในฟังก์ชัน ถ้าชื่อตัวแปรเหมือนกับตัวแปรใน scope ระดับอื่น พารามิเตอร์นี้ "ระบุ" เป็นตัวแปรภายในที่ไม่มีผลกับตัวแปรภายนอกฟังก์ชัน
การส่งผ่านโดยค่า(By Value)
ตามปกติการส่งผ่านพารามิเตอร์ไปยังฟังก์ชันเป็นการส่งผ่านค่า การเปลี่ยนแปลงจะจำกัดภายในเฉพาะภายในฟังก์ชัน
ตัวอย่างฟังก์ชัน new_value () ที่ยอมให้เพิ่มค่า
การส่งผ่านโดยการอ้างอิง (By Reference)
ตามตัวอย่างฟังก์ชัน new_value ถ้าต้องการให้ฟังก์ชันเปลี่ยนแปลงค่าได้ มีวิธีหนึ่งในการแก้ไขคือ ประกาศ $value ในฟังก์ชันเป็น global แต่หมายความว่าในการใช้ฟังก์ชันนี้ ตัวแปรที่ต้องการเพิ่มค่าต้องตั้งชื่อเป็น $value แต่มีวิธีดีกว่าคือ ใช้การส่งผ่านโดยการอ้างอิง
การอ้างอิงไปตัวแปรต้นทางแทนที่มีค่าของตัวเอง การปรับปรุงไปยังการอ้างอิงจะมีผลกับตัวแปรต้นทางด้วยการระบุพารามิเตอร์ที่ใช้การส่งผ่านโดยการอ้างอิงให้วาง ampersand (&) หน้าชื่อพารามิเตอร์ในข้อกำหนดฟังก์ชัน
จำนวนตัวแปรของพารามิเตอร์
การส่งผ่านพารามิเตอร์ไปยังฟังก์ชันนั้น การควบคุมของ PHP ได้กำหนดฟังก์ชันจำนวนหนึ่งให้ยอมรับจำนวนตัวแปรของพารามิเตอร์ ได้แก่ func_num_args, func_get_arg และ func_get_args
func_num_args() บอกจำนวนพารามิเตอร์ไปยังฟังก์ชันที่เรียก func_get_arg() แสดงค่าของพารามิเตอร์ตามดัชนี และ func_get_args() ส่งออก array ของพารามิเตอร์
การเรียกฟังก์ชันและการหยุดประมวลผลภายในฟังก์ชัน
การเรียกฟังก์ชัน
เมื่อฟังก์ชันได้รับการประกาศหรือสร้างขึ้นแล้ว การเรียกฟังก์ชันสามารถเรียกมาจากที่ใดๆ ภายในสคริปต์ หรือ จากไฟล์ที่มีการรวมด้วยประโยคคำสั่ง include() หรือ require()
การหยุดประมวลผลภายในฟังก์ชัน
คีย์เวิร์ด return หยุดการประมวลผลฟังก์ชัน ฟังก์ชันสิ้นสุดได้เพราะประโยคคำสั่งทั้งหมดได้รับการประมวลผล หรือ ใช้คีย์เวิร์ด return การประมวลผลกลับไปยังประโยคคำสั่งต่อจากการเรียกฟังก์ชัน
ถ้าประโยคคำสั่ง return ได้รับการประมวลผล บรรทัดคำสั่งต่อไปในฟังก์ชันจะถูกข้ามไป และกลับไปยังผู้เรียกฟังก์ชันนี้ ในฟังก์ชันนี้ ถ้า y เป็น 0 จะหยุดการประมวลผล ถ้า y ไม่เท่ากับ 0 จะคำนวณผลหาร
สมมติป้อนค่าเป็น
x = 4, y = 0
x = 4
x = 4, y = 2
x = 4, y = 0
x = 4
x = 4, y = 2
ผลลัพธ์ของคำสั่ง คือ
x = 4, y = 0 ผลลัพธ์ ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า
x = 4, y = ผลลัพธ์ ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า
x = 4, y = 2 ผลลัพธ์ 2
x = 4, y = 0 ผลลัพธ์ ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า
x = 4, y = ผลลัพธ์ ตัวหาร y ต้องไม่เป็นศูนย์หรือไม่มีค่า
x = 4, y = 2 ผลลัพธ์ 2
การตั้งชื่อฟังก์ชัน
การตั้งชื่อฟังก์ชัน
สิ่งสำคัญมากในการพิจารณาเมื่อตั้งชื่อฟังก์ชันคือชื่อต้องสั้นแต่มีความหมาย ถ้าฟังก์ชันสร้างส่วนตัวของเพจควรตั้งชื่อเป็น pageheader () หรือ page_header ()
ข้อจำกัดในการตั้งชื่อคือ
- ฟังก์ชันไม่สามารถมีชื่อเดียวกับฟังก์ชันที่มีอยู่
- ชื่อฟังก์ชันสามารถมีได้เพียงตัวอักษรตัวเลข และ underscore
- ชื่อฟังก์ชันไม่สามารถเริ่มต้นด้วยตัวเลข
หลายภาษายอมให้ใช้ชื่อฟังก์ชันได้อีก ส่วนการทำงานนี้เรียกว่า function overload อย่างไรก็ตาม PHP ไม่สนับสนุน function overload ดังนั้นฟังก์ชันไม่สามารถมีชื่อเดียวกันกับฟังก์ชันภายใน หรือฟังก์ชันกำหนดเองที่มีอยู่
สมัครสมาชิก:
บทความ (Atom)