Upload
kulkanok-issara
View
217
Download
3
Embed Size (px)
DESCRIPTION
course new
Citation preview
ใบความรท 4 ของตวแปรและคาคงท
ตวแปร
ตวแปร (Variables) คอชอทตงขนมาเพอใชจดเกบขอมลภายในหนวยความจ า (Ram) ของคอมพวเตอร ตวแปรสามารถจดเกบขอมลใดๆ กได ไมวาจะเปนขอมลตวเลข ตวอกษร เครองหมาย เปนตน ลกษณะทส าคญของตวแปร คอ * ค าทจดเกบไวในตวแปรใดๆ แลว เมอเปดโปรแกรม หรอเครองคอมพวเตอร ขอมลนนจะถกลบทงไปจากหนวยความจ า * ตวแปรสามารถทจะเปลยนแปลงคาทจดเกบไวไดตลอดเวลา เหตผลทบอกวาท าไมตองมการใชตวแปรภายในโปรแกรม พจารณาโปรแกรม ตอไปน
จากโปรแกรมนค าสง echo 40 + 5: จะมคาเทากบ 45 และค าสง echo 30 + 8: จะมคา
เทากบ 22 ถาตองการน าคาทไดจากทงสองค าสงนมาท าการลบกน เราจะท าไดอยางไร ? วธการแกไขปญหานกคอ เราตองท าการจดเกบคา 45 และ 22 ไวทใดทหนงเสยกอนหลงจากนนคอยน าคาทงสองมาท าการลบกน ซงทใดทหนงนกคอ ในหนวยความจ านนเอง โดยปกตหนวยความจ าในคอมพวเตอรจะมการแบงพนทในการจดเกบและมการอางถงพนททเกบขอมลตางๆ ดวยหมายเลขทอยของหนวยความจ า เชน หมายเลข 3762 เปนหมายเลขทอยทจดเกบขอมลเลข 45 และหมายเลข 1769 เปนหมายเลขทอยทจดเกบขอมลเลข 22 ดงนนเรากน าหมายเลขทอย 3762 และ 1769 มาท าการลบกน
การประกาศตวแปร การก าหนดกฎเกณฑในการตงชอตวแปร มดงน * ชอตวแปรตองขนอยดวยเครอง $ (Dollar Sing) เสมอ * หลงเครองหมาย $ จะตามดวยชอตวแปรโยทตวแปรแรกของชอตองเปนตวอกษร หรอเรองหมาย _ (underscore) เทานน * ตวถดมาของชอตวแปรสามารถเปนตวอกษร หรอตวเลข หรอเครองหมาย _ (underscore) เพอผสมเปนชอได * ชอของตวแปรมคณสมบต Case – sensitive คอตวอกษรใหญและตวเลกถอวาเปนคนละตวกนในภาษา PHP นในการประกาศตว
รปท 4.2 แสดงผลลพธของโปรแกรม va1.php
จากโปรแกรมนมตวแปรทงหมด 3ตว คอ $name, $Age และ $age ซงตวแปรทงสามไดท าการก าหนดคาโดยเครองหมายเทากบ และตวแปรทงสามมคาเทากบ Robert, 25 และ 20 ตามล าดบ หลงจากนนกท าการใชค าสง echo เพอพมพคาของตวแปรทงหมดออกมา และจากผลลพธในตวอยางนมจดทควรสงเกต คอ ในการก าหนดคาใหกบตวแปรทเปนตกอกษรจะตองก าหนดอยในเครอง “ “ (Double Quote) ชอตวแปร $Age และ $age จะถอวาเปนตวแปรคนละตวกน และจากตวอยางทกลาวถงในหวขอ 4.1 คอตองการจดเกบคาของ 40 +5 และ 30-8 และใหน าคาหลงจากการค านวณไดผลลพธทงสองมาท าการลบกน ใหท าการพมพผลลพธดงกลาวออกมา จะสามารถเขยนโปรแกรมได ดงน
รปท 4.3 แสดงผลลพธของโปรแกรมรปท va2.php
ผลลพธของโปรแกรมขางตนจะเปน ดงน จากโปรแกรมขางตนน มตวแปรทงหมด 3ตวแปร คอ $num1, $num2 และ $result โดยทตวแปร $num1 ท าการจดเกบคา 45 จากการบวกของ 40 และ 5 และตวแปร $num2 ท าการจดเกบคา 22 จากการลบของ 30 และ 8หลงจากนนจะน าตวแปรทงสองมาท าการลบกน ผลลพธทไดจากการลบจะน าไปเกบไวทตวแปร $result (45-22) ซงตวแปร $result นจะจดเกบตวเลข 23 และสดทายจะท าการพมพคาทตวแปร $result ท าการจดเกบไวออกมา ผลลพธตามรท 4.3
4.3ชนดของขอมล ตามทกลาวในหวขอทผานมาเกยวกบเรองของตวแปรวาสามารถน ามาจดเกบขอมลใดๆ กไดในหนวยความจ าของคอมพวเตอร ในทนจะแบงชนดของขอมลทตวแปรสามารถจดเกบไดใหชดเจน โดยสามารถแบงชนดของขอมลไดเปน 4 ชนด คอ 1. ขอมลชนดจ านวนเตม (lnteger)
ขอมลชนดจ านวนเตมเปนตวเลขจ านวนเตมใดๆ ซงสามารถแบงออกได 3 กลม คอจ านวนเตมบวก(1,2,3,....) จ านวนเตมลบ(-1,-2,-3,...) และจ านวนเตมศนย นอกจากนนสามารถน าตวแปรมาก าหนดคาตวเลขฐานแปด และฐานสบหก และใหท าการแสดงผลลพธในฐานเลขสบได โดยการก าหนดคาในรปเลขฐานแปดใหเตม 0 (ศนย) น าหนา และการก าหนดคาในรปเลขฐานสบหกใหเตม Ox (ศนยเอกซ) น าหนาพจารณาตวอยางโปรแกรมตอไปน
รปท 4.4 แสดงผลลพธของโปรแกรมรปท integer.ph
จากโปรแกรมขางตนมตวแปร 3 ตวแปร คอ $num 1 เกบคาจ านวนเตม 20, $num 2 เกบคา 020 ซงเปนตวเลขในรปของเลขฐานแปด และ $num 3 เกบคา 0x20 ซงเปนเลขในรปของเลขฐานสบหก หลงจากนนกท าการใชค าสง echo เพอพมพผลลพธของตวแปรทงสามจะแสดงผลลพธในลกษณะของเลขจ านวนเตมรปของเลขฐานสบ คอ 20,16 และ 32 ตามล าดบ
2.ขอมลชนดจ านวนทศนยม (Floating – Point Number)
ลกษณะของขอมลจ านวนทศนยม คอ ตวเลขทมจดทศนยมหลงเลขจ านวนเตม หรอเปนตวเลขแบบเศษสวน หรอเปนตวเลขในลกษณะเลขยกก าลง พจารณาตวอยางโปรแกรมตอไปน
รปท 4.5 แสดงผลลพธของโปรแกรมรปท string.php
จากโปรแกรมขางตนมตวแปร 3 ตวแปร คอ $num 1เกบคาเลขทศนยม 3.58, $num2 เกบคา 4.5e3 ซงกคอตวเลข 4.5x10 3 และ $num3 เกบคา 3e-4 ซงกคอตวเลข 3x10- 4 หลงจากนนกใชค าสง echo เพอพมพผลลพธของตวแปรทงสามโดยจะแสดงผลลพธคอ 3.58, 4500 และ 0.0003 ตามล าดบ
3.. ขอมลชนดสตรง (String) ลกษณะของขอมลชนดสตรงคอขอมลทน าตวอกษรมาประกอบกนขน โดยตวอกษร 1ตวเรา
อาจจะเรยกวาอกขระกได เมอน าหลายๆ อกขระมาประกอบกนแลวเรากจะเรยกวาสตรงนนเอง ในการก าหนดคาของอกขระและสตรงจะตองใชเครองหมาย “ “ (Double quote) ดวยทกครง พจารณาโปรแกรมตอไปน
รปท 4.6 แสดงผลลพธของโปรแกรมรปท string.php จากโปรแกรมขางตนมตวแปร 3 ตวแปร คอ $num 1เกบคาอกขระ “A” $num 2 เกบคา
สตรง “Jimmy” และ 450 ตามล าดบ จากโปรแกรมนมจดทนาสงเกต คอ • ตวแปร $num 3 เกบสตรง 450 ไมใชตวเลข 450 • ในโปรแกรมมการเกบรหส Escape (/) น าหนาชอตวแปรทง 3ในบรรทดค าสง echo ซงรหส
Escape นจะใชเพอพมพเครองหมาย $ ออกมา และมผลท าให num1, num2, และ num3 ทตามมามคาเปนขอความธรรมดาไมใชชอตวแปร แตถาเราไมใช เมอค าสง echo เจอเครองหมาย $ จะเขาใจวาใหพมพคาในตวแปรนนออกมา
4. ขอมลชนดตรรกะ (Boolean) ลกษณะของขอมลชนดตรรกะจะเกบคาเพอใชส าหรบการตรวจสอบเงอนไข ซงจะมคาทเกบ
เพยง 2 คา เทานน คอเปนคาจรง (True) หรอเทจ (False) พจารณาโปรแกรมตอไปน
จากโปรแกรม array1.php และผลลพธทไดบางคนอาจจะคดวาการจดเกบขอมลไวในตวแปรอารเรยไมเหนจะชวยใหการเขยนโปรแกรมดขนกวาการใชตวแปรทวไปเลย ซงตรงนขอตดไวกอน เนองจากการใชตวแปรอารเรยใหมประสทธภาพตองใชรวมกบค าสงท าซ า และเมอไดกลาวถงเรองของค าสงท าซ าจะขอมากลบมาอธบายในเรองนอกครง อยางไรกตามตวอยางโปรแกรมทใชตวแปรอารเรยนสงทเราเหนไดอยางชดเจนถงประโยชนของการใชตวแปรอารเรยกคอ เราท าการเกบคาคะแนนสอบ 5 จ านวน แตเราใชตวแปรเพยง 1 ตวเทานน ในการก าหนดคาใหกบตวแปรอารเรยนอกจากจะก าหนดดงตวอยางโปรแกรม array1.php แลวยงสามารถท าการก าหนดในรปแบบตอไปน
index หรอหมายเลขอางองของชองอารเรยนนไมจ าเปนตองก าหนดเปนหมายเลขกได เราสามารถก าหนด index เปนขอความตวอกษรกได โดยยดรปแบบการก าหนดคา
นอกจากขอดในเรองของการก าหนด index เปนตวอกษรหรอขอความไดแลว ตวแปรอารเรยยงสามารถก าหนดคาในแตละชองดวยขอมลตางชนดกนได