1

course new

Embed Size (px)

DESCRIPTION

course new

Citation preview

Page 1: course new

ใบความรท 4 ของตวแปรและคาคงท

ตวแปร

ตวแปร (Variables) คอชอทตงขนมาเพอใชจดเกบขอมลภายในหนวยความจ า (Ram) ของคอมพวเตอร ตวแปรสามารถจดเกบขอมลใดๆ กได ไมวาจะเปนขอมลตวเลข ตวอกษร เครองหมาย เปนตน ลกษณะทส าคญของตวแปร คอ * ค าทจดเกบไวในตวแปรใดๆ แลว เมอเปดโปรแกรม หรอเครองคอมพวเตอร ขอมลนนจะถกลบทงไปจากหนวยความจ า * ตวแปรสามารถทจะเปลยนแปลงคาทจดเกบไวไดตลอดเวลา เหตผลทบอกวาท าไมตองมการใชตวแปรภายในโปรแกรม พจารณาโปรแกรม ตอไปน

จากโปรแกรมนค าสง echo 40 + 5: จะมคาเทากบ 45 และค าสง echo 30 + 8: จะมคา

เทากบ 22 ถาตองการน าคาทไดจากทงสองค าสงนมาท าการลบกน เราจะท าไดอยางไร ? วธการแกไขปญหานกคอ เราตองท าการจดเกบคา 45 และ 22 ไวทใดทหนงเสยกอนหลงจากนนคอยน าคาทงสองมาท าการลบกน ซงทใดทหนงนกคอ ในหนวยความจ านนเอง โดยปกตหนวยความจ าในคอมพวเตอรจะมการแบงพนทในการจดเกบและมการอางถงพนททเกบขอมลตางๆ ดวยหมายเลขทอยของหนวยความจ า เชน หมายเลข 3762 เปนหมายเลขทอยทจดเกบขอมลเลข 45 และหมายเลข 1769 เปนหมายเลขทอยทจดเกบขอมลเลข 22 ดงนนเรากน าหมายเลขทอย 3762 และ 1769 มาท าการลบกน

Page 2: course new

การประกาศตวแปร การก าหนดกฎเกณฑในการตงชอตวแปร มดงน * ชอตวแปรตองขนอยดวยเครอง $ (Dollar Sing) เสมอ * หลงเครองหมาย $ จะตามดวยชอตวแปรโยทตวแปรแรกของชอตองเปนตวอกษร หรอเรองหมาย _ (underscore) เทานน * ตวถดมาของชอตวแปรสามารถเปนตวอกษร หรอตวเลข หรอเครองหมาย _ (underscore) เพอผสมเปนชอได * ชอของตวแปรมคณสมบต Case – sensitive คอตวอกษรใหญและตวเลกถอวาเปนคนละตวกนในภาษา PHP นในการประกาศตว

รปท 4.2 แสดงผลลพธของโปรแกรม va1.php

Page 3: course new

จากโปรแกรมนมตวแปรทงหมด 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

Page 4: course new

4.3ชนดของขอมล ตามทกลาวในหวขอทผานมาเกยวกบเรองของตวแปรวาสามารถน ามาจดเกบขอมลใดๆ กไดในหนวยความจ าของคอมพวเตอร ในทนจะแบงชนดของขอมลทตวแปรสามารถจดเกบไดใหชดเจน โดยสามารถแบงชนดของขอมลไดเปน 4 ชนด คอ 1. ขอมลชนดจ านวนเตม (lnteger)

ขอมลชนดจ านวนเตมเปนตวเลขจ านวนเตมใดๆ ซงสามารถแบงออกได 3 กลม คอจ านวนเตมบวก(1,2,3,....) จ านวนเตมลบ(-1,-2,-3,...) และจ านวนเตมศนย นอกจากนนสามารถน าตวแปรมาก าหนดคาตวเลขฐานแปด และฐานสบหก และใหท าการแสดงผลลพธในฐานเลขสบได โดยการก าหนดคาในรปเลขฐานแปดใหเตม 0 (ศนย) น าหนา และการก าหนดคาในรปเลขฐานสบหกใหเตม Ox (ศนยเอกซ) น าหนาพจารณาตวอยางโปรแกรมตอไปน

รปท 4.4 แสดงผลลพธของโปรแกรมรปท integer.ph

Page 5: course new

จากโปรแกรมขางตนมตวแปร 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 ตามล าดบ

Page 6: course new

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 เจอเครองหมาย $ จะเขาใจวาใหพมพคาในตวแปรนนออกมา

Page 7: course new

4. ขอมลชนดตรรกะ (Boolean) ลกษณะของขอมลชนดตรรกะจะเกบคาเพอใชส าหรบการตรวจสอบเงอนไข ซงจะมคาทเกบ

เพยง 2 คา เทานน คอเปนคาจรง (True) หรอเทจ (False) พจารณาโปรแกรมตอไปน

จากโปรแกรม array1.php และผลลพธทไดบางคนอาจจะคดวาการจดเกบขอมลไวในตวแปรอารเรยไมเหนจะชวยใหการเขยนโปรแกรมดขนกวาการใชตวแปรทวไปเลย ซงตรงนขอตดไวกอน เนองจากการใชตวแปรอารเรยใหมประสทธภาพตองใชรวมกบค าสงท าซ า และเมอไดกลาวถงเรองของค าสงท าซ าจะขอมากลบมาอธบายในเรองนอกครง อยางไรกตามตวอยางโปรแกรมทใชตวแปรอารเรยนสงทเราเหนไดอยางชดเจนถงประโยชนของการใชตวแปรอารเรยกคอ เราท าการเกบคาคะแนนสอบ 5 จ านวน แตเราใชตวแปรเพยง 1 ตวเทานน ในการก าหนดคาใหกบตวแปรอารเรยนอกจากจะก าหนดดงตวอยางโปรแกรม array1.php แลวยงสามารถท าการก าหนดในรปแบบตอไปน

Page 8: course new

index หรอหมายเลขอางองของชองอารเรยนนไมจ าเปนตองก าหนดเปนหมายเลขกได เราสามารถก าหนด index เปนขอความตวอกษรกได โดยยดรปแบบการก าหนดคา

นอกจากขอดในเรองของการก าหนด index เปนตวอกษรหรอขอความไดแลว ตวแปรอารเรยยงสามารถก าหนดคาในแตละชองดวยขอมลตางชนดกนได