Arrays
ภัทรพันธุ์ ปิ่นเกษร 630710473
หากตัวแปรที่จัดเก็บข้อมูลเป็นจำนวนมาก การอ้างถึงตัวแปรทีละตัวก็จะเกิดความยุ่งยาก เราจึงควรจะเรียนรู้วิธีการสร้างตัวแปรเพื่อเอาไว้จัดเก็บชุดข้อมูลในรูปแบบที่เรียกว่าอาร์เรย์ (Array) ซึ่งชุดข้อมูลอาจจะมีลักษณะเป็นลำดับรายการต่อเนื่องกัน ดังนั้นเราสามารถใช้ลูปแบบต่างๆเพื่อดำเนินการกับมันแทนได้และนอกจากนี้ถ้าเราเขียนโปรแกรมมีความซับซ้อนมากขึ้นก็อาจจำเป็นต้องแบ่งขั้นตอนการทำแต่ละอย่างออกเป็นส่วนๆเพื่อจะเรียกแต่ละส่วนขึ้นมาทำงานได้เมื่อเราต้องการ โดยไม่ต้องเขียนโค้ดซ้ำกันอีก ซึ่งส่วนของโปรแกรมแบบนี้เราจะเรียกว่าฟังก์ชัน (Function)
Array คืออะไร ?
อาร์เรย์ (Array) คือการจัดเก็บกลุ่มข้อมูลอย่างใดอย่างหนึ่งไว้ในตัวแปรเดียวกัน ซึ่งหลักการบางส่วนของอาร์เรย์ใน PHP จะคล้ายคลึงกับของ JavaScript แต่อีกบางส่วนก็จะแตกต่างออกไป
ตัวอย่างการเก็บข้อมูลคะแนนสอบทั้ง 5 คน ไว้ในตัวแปรทั้งหมด 5 ตัวแปรคือ $score1, $score2, $score3, $score4, $score5 หลังจากนั้นจะใช้คำสั่ง echo ในการพิมพ์ผลลัพธ์ของคะแนนสอบทั้ง 5 จำนวนออกมา
<?php
$score1 = 58;
$score2 = 65;
$score3 = 74;
$score4 = 62;
$score5 = 85;
echo "คะเเนนสอบนักเรียนคนที่ 1 เท่ากับ $score1 <br>";
echo "คะเเนนสอบนักเรียนคนที่ 2 เท่ากับ $score2 <br>";
echo "คะเเนนสอบนักเรียนคนที่ 3 เท่ากับ $score3 <br>";
echo "คะเเนนสอบนักเรียนคนที่ 4 เท่ากับ $score4 <br>";
echo "คะเเนนสอบนักเรียนคนที่ 5 เท่ากับ $score5 <br>";
?>
output
จากโค้ดด้านบนหมายความว่า
เก็บคะแนนสอบ 58 ไว้ในตัวแปรอาร์เรย์ $score[0] (อาร์เรย์ช่องที่ 0)
เก็บคะแนนสอบ 65 ไว้ในตัวแปรอาร์เรย์ $score[1] (อาร์เรย์ช่องที่ 1)
เก็บคะแนนสอบ 74 ไว้ในตัวแปรอาร์เรย์ $score[2] (อาร์เรย์ช่องที่ 2)
เก็บคะแนนสอบ 62 ไว้ในตัวแปรอาร์เรย์ $score[3] (อาร์เรย์ช่องที่ 3)
เก็บคะแนนสอบ 85 ไว้ในตัวแปรอาร์เรย์ $score[4] (อาร์เรย์ช่องที่ 4)
ประเภทของอาร์เรย์ ?
อาร์เรย์ที่มีดัชนี (Indexed arrays) คือ อาร์เรย์ที่มีดัชนีตัวเลข
อาร์เรย์แบบเชื่อมโยง (Associative arrays) คือ อาร์เรย์ที่มีคีย์ที่มีชื่อ
อาร์เรย์หลายมิติ (Multidimensional arrays) คือ อาร์เรย์ที่มีอาร์เรย์หนึ่งรายการขึ้นไป
การทำงานกับอาร์เรย์ ?
การสร้างอาร์เรย์(Create Arrays): อาจใช้รูปแบบอันใดอันหนึ่งคือ
แบบที่ 1
$ชื่ออาร์เรย์ = array ( สมาชิกตัวที่ 1 , สมาชิกตัวที่ 2 , . . . , สมาชิกตัวที่ n ) ;
แบบที่ 2 :
$ชื่ออาร์เรย์ = [ สมาชิกตัวที่ 1 , สมาชิกตัวที่ 2 , . . . , สมาชิกตัวที่ n ] ;
Output
การเข้าถึงอาร์เรย์(Access Array): การเข้าถึงและการอ้างถึงอาร์เรย์จำเป็นต้องใช้เลขลำดับในการเข้าถึงแล้วใช้ ลูปในการนับตัวที่ต่อเนื่องจากตัวแรกจนถึงตัวสุดท้าย
Output
การเพิ่มรายการอาร์เรย์(Add Array Item): ปกติแล้วถ้าตัวแปรอาร์เรย์ที่ไม่ใช่ key & value เราสามารถนำไปแทรกหรือเพิ่มได้โดยตรงเหมือนกับตัวแปรที่เก็บข้อมูลชนิดสตริงหรือตัวเลข แต่ถ้าเป็นแบบ key & value ต้องใช้ { } ครอบตัวแปรอาร์เรย์ก่อน และต้องไม่มีช่องว่างใน { }
Output
การลบรายการอาร์เรย์ (Remove Array Item): ใน PHP นั้นไม่มีฟังก์ชันที่ใช้ในการลบสมาชิกของอาร์เรย์โดยตรง แต่เราสามารถนำฟังก์ชัน unset() ใช้ในการยกเลิกตัวแปรมาใช้ได้ โดยระบุลำดับสมาชิกที่ต้องการยกเลิกเช่น
Output
การอัพเดตอาร์เรย์ ( Update Array ): เราสามารถทำการอ้างอิงตำเเหน่ง index ให้กับอาร์เรย์ได้เลยเเละทำการอ้างอิงชื่อให้กับค่าในอาร์เรย์ที่เราจะอ้างถึง
Output
จะเห็นว่า array ช่องที่ 1 เเต่ก่อนเก็บค่า"BMW" ไว้ เมื่อทำการอัพเดตค่า $cars[1] = "Ford"; จะทำให้ array ช่องที่ 1 เปลียนเป็น Ford
การเรียงลำดับอาร์เรย์ (Sortng Arrays): การจัดเรียงข้อมูลภายในอาร์เรย์ตามลำดับเเล้วเเต่เราจะออกเเบบ
Output
จาก output จะพบว่าข้อมูลมีการเรียงลำดับจากน้อยไปมาก จากตอนเเรกไม่มีการเรียงเลขเกิดขึ้น
Array Functions
ภาษา PHP ได้จัดเตรียมฟังก์ชันที่เกี่ยวข้องกับตัวแปรไว้ให้ใช้งานกันหลายฟังก์ชัน ซึ่งเราไม่ต้องทำการเขียนโปรแกรมใดๆเลย เพียงแค่รู้จักลักษณะการประมวลผลของฟังก์ชันนั้นๆและเรียกใช้งานได้ถูกต้องตามรุปแบบเท่านั้น
ฟังก์ชัน gettype (ตัวแปร) เป็นฟังก์ชันที่ใช้ในการตัวสอบชนิดข้อมูลของตัวแปร ซึ่งอาจจะคืนค่าชนิดของตัวแปรต่างๆ ต่อไปกลับมา
Integer ชนิดข้อมูลตัวเลขแบบจำนวนเต็ม
Double ชนิดข้อมูลแบบเลขทศนิยม
String ชนิดข้อมูลตัวอักษร ข้อความ
Array ชนิดข้อมูลแบบอาร์เรย์
Object ชนิดข้อมูลแบบออบเจ็กต์
Class ชนิดข้อมูลแบบคลาส
Unknown type ไม่สามารถระบุชนิดข้อมูลตัวแปรได้
ตัวอย่างโปรแกรมต่อไปนี้
Output
ฟังก์ชัน empty (ตัวแปร) เป็นฟังก์ชันที่ใช้ในการตรวจสอบตัวแปรว่าเก็บข้อมูลไว้หรือไม่ โดยถ้าตัวแปรเก็บค่าข้อมูลไว้จะคืนค่าเป็นเท็จ ซึ่งค่าเท็จนี้จะเป็นช่องว่าง แต่ถ้าไม่เก็บค่าข้อมูลไว้จะคืนค่าเป็นจริงซึ่งค่าจริงนี้เป็นหมายเลข 1 ไว้
ตัวอย่างโปรแกรมต่อไปนี้
Output
ฟังก์ชัน isset (ตัวแปร) ใช้สำหรับตรวจสอบว่ามีตัวแปรตามชื่อที่ระบุไว้หรือไม่ ถ้ามีตัวแปรนั้นจะคืนค่าจริง แต่ถ้าไม่มีจะคืนค่าเท็จ
ฟังก์ชัน unset(ตัวแปร) ฟังก์ชันนี้ใช้ทำลายตัวแปรใดและทำการคืนพื้นที่ให้กับหน่วยความจำ ดังนั้นหลังจากใช้ฟังก์ชันนี้แล้วตัวแปรนั้นจะไม่มีตัวแปรนั้นอีก
ตัวอย่างโปรแกรมต่อไปนี้
Output
เปรียบเทียบกับภาษา Java / C / Pytjon ?
PHP
ไม่ต้องกำหนด
ไม่จำกัด
ยืดหยุ่นได้
ใช้ Associative Array ได้
JAVA
ต้องกำหนด
ต้องกำหนดล่วงหน้า
คงที่
ไม่มี
C
ต้องกำหนด
ต้องกำหนดล่วงหน้า
คงที่
ไม่มี
Python
ไม่ต้องกำหนด
ไม่จำกัด
ยืดหยุ่นได้
ใช้ dict (dictionary) ได้
<Reference>
W3Schools. (1999-2024). PHP Array Arrays. Retrieved from W3Schools: https://www.w3schools.com/php/php_arrays.asp
W3Schools. (1999-2024). Java Arrays. Retrieved from W3Schools: https://www.w3schools.com/java/java_arrays.asp
W3Schools. (1999-2024). Python Arrays. Retrieved from W3Schools: https://www.w3schools.com/python/python_arrays.asp
W3Schools. (1999-2024). Javascript Arrays. Retrieved from W3Schools: https://www.w3schools.com/js/js_arrays.asp
บัญชา ปะสีละเตสัง. (2567). รวมพื้นฐานการสร้าง web. กรุงเทพ: ซีเอ็ดยูเคชั่น.
ชาญชัย ศุภอรรถกร. (2561). สร้างเว็บเเอพพลิเคชันPHP+Mysql. กรุงเทพฯ: รีไวว่า.
Slide Files:
Clips:
Last updated