300 likes | 447 Views
บทที่ 11 [Numbers ]. PHP: Hypertext Preprocessor. สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ มหาวิทยาลัยนเรศวร. วัตถุประสงค์การเรียนรู้ประจำบท. ในบทนี้จะอธิบายการทำงานกับเลขจำนวน (Numbers ). กิจกรรมการเรียนการสอน.
E N D
บทที่ 11 [Numbers] PHP:Hypertext Preprocessor สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ มหาวิทยาลัยนเรศวร
วัตถุประสงค์การเรียนรู้ประจำบทวัตถุประสงค์การเรียนรู้ประจำบท • ในบทนี้จะอธิบายการทำงานกับเลขจำนวน (Numbers)
กิจกรรมการเรียนการสอนกิจกรรมการเรียนการสอน • บรรยายโดยผู้สอนและใช้เอกสารประกอบการสอนของผู้สอน • สอนโดยใช้สื่อคอมพิวเตอร์ผ่านเครื่องฉาย • อภิปรายในชั้นเรียนร่วมกัน • ให้นิสิตค้นคว้าเพิ่มเติมจากตำราและเอกสารที่เกี่ยวข้อง • ทำแบบฝึกหัดท้ายบท
การประเมินผล • ประเมินผลจากการตอบคำถามและอภิปรายในชั้นเรียน • ทำแบบฝึกหัดท้ายบท • ทำรายงานส่ง
เลขจำนวนเต็ม สามารถเขียนค่าจำนวนเต็ม (Integer Literal)ในรูปฐานสิบ (Decimal), ฐานสิบหก (Hexadecimal) หรือฐานแปด (Octal) ก็ได้ การเขียนค่าในรูปฐานแปดให้นำหน้าด้วย 0 (ศูนย์) และการเขียนค่าในรูปฐานสิบหกให้นำหน้าด้วย 0x (ศูนย์ เอ็กซ์) เช่น $a = 1234; // ค่าจำนวนเต็มในรูปฐานสิบ $a = -123; // ค่าจำนวนเต็มลบในรูปฐานสิบ $a = 0123; // ค่าจำนวนเต็มในรูปฐานแปด (มีค่าเท่ากับ 83 ฐานสิบ) $a = 0x1A; // ค่าจำนวนเต็มในรูปฐานสิบหก (มีค่าเท่ากับ 26 ฐานสิบ)
Integer Overflow ถ้าหากระบุค่าจำนวนเต็มที่เกินช่วงค่าของชนิดข้อมูล Integer PHPจะกำหนดเป็นชนิดข้อมูล float ให้แทน และถ้าดำเนินการใดๆ ที่ให้ผลลัพธ์เป็นเลขจำนวนเต็มที่เกินช่วงค่าของชนิดข้อมูล integerผลลัพธ์นั้นก็จะกลายเป็นชนิด float เช่นเดียวกัน
Integer Overflow <? $number1 = 2147483647; echo "บรรทัด 1 : "; var_dump($number1); // แสดงค่าและชนิดข้อมูลของตัวแปร $number1 echo "<br>"; $number2 = 2147483648; echo "บรรทัด 2 : "; var_dump($number2); // แสดงค่าและชนิดข้อมูลของตัวแปร $number2 echo "<br>"; echo "บรรทัด 3 : " ; var_dump(0xffffffff); // แสดงค่าและชนิดข้อมูลของค่า ffffffffฐานสิบหก echo "<br>"; $million = 1000000; $large_number = 50000 * $million ; // กำหนด $large_numberมีค่า 5 หมื่นล้าน echo "บรรทัด 4 :" ; var_dump($large_number); // แสดงค่าและชนิดข้อมูลของตัวแปร $large_number echo "<br>"; ?> integer_overflow.php
การหารเลขจำนวนเต็ม ตัวดำเนินการ / (หาร) ในภาษา PHP จะให้ผลลัพธ์เป็นค่าชนิด float เสมอ แม้ว่าตัวถูกดำเนินการจะเป็นชนิด integer ทั้งคู่ก็ตาม อาจแปลงผลหารไปเป็นชนิด integerโดยใช้ตัวดำเนินการ (int) ซึ่งเศษจะถูกปัดลง (ตัดทิ้ง) เสมอ หรืออาจประมาณค่าเป็นเลขจำนวนเต็มโดยใช้ฟังก์ชั่น round ก็ได้ (แต่ค่าจำนวนเต็มที่ได้จะเป็นชนิด float) ซึ่งเศษตั้งแต่ 0.5 ขึ้นไปจะถูกปัดขึ้น
การหารเลขจำนวนเต็ม <? echo "บรรทัด 1 : "; var_dump(25/7); // แสดงค่าและชนิดข้อมูลของนิพจน์ 25/7 echo "<br>"; echo "บรรทัด 2 : "; var_dump((int)(25/7)); // แสดงค่าและชนิดข้อมูลของนิพจน์ 25/7 หลังจากแปลงเป็นชนิด integer แล้ว echo "<br>"; echo "บรรทัด 3 : "; var_dump(round(25/7)); // แสดงค่าและชนิดข้อมูลของนิพจน์ 25/7 หลังจากประมาณค่าเป็นเลขจำนวนเต็มโดยใช้ฟังก์ชั่น round แล้ว echo "<br>"; ?> integer_division.php
การแปลงเป็นชนิดข้อมูล integer การแปลง (convert)ค่าใดๆ เป็นชนิด integerให้ใช้ตัวดำเนินการ (int) หรือ (integer) ซึ่งการดำเนินการนี้เรียกว่า Casting อย่างไรก็ตาม ในกรณีส่วนใหญ่ไม่จำเป็นต้องทำ Casting เอง เนื่องจาก PHP จะแปลงค่าเป็นชนิด integer ให้โดยอัตโนมัติอยู่แล้วถ้าหากตัวดำเนินการ ฟังก์ชั่น หรือคำสั่งนั้นต้องการค่าชนิด integer ในการทำงาน การแปลงค่าชนิดต่างๆ เป็นชนิด integer มีเงื่อนไขดังต่อไปนี้ • ถ้าแปลงค่าชนิด Boolean ไปเป็น integer ค่า FALSE จะกลายเป็น 0 และค่า TRUE จะกลายเป็น 1 • เมื่อแปลงค่าชนิด float ไปเป็น integer ตัวเลขหลังจุดทศนิยมจะถูกตัดทิ้งไป แต่ถ้าค่าชนิด float นั้นมีค่าเกินขอบเขตของชนิดข้อมูล integer ผลลัพธ์จะไม่มีการกำหนด (undefined)
เลขจำนวนทศนิยม ค่าจำนวนทศนิยม (Float Literal) สามารถเขียนได้หลายรูปแบบ เช่น โดยรูปแบบ AeN ( e จะเป็นตัวเล็กหรือตัวใหญ่ก็ได้) จะหมายถึง A x 10N ดังนั้น -1.2e3 จึงเท่ากับ -1.2 x 103 = -1200 และ 7E-5 เท่ากับ 7 x 10-5 = 0.0007 (เป็นค่าบวก เนื่องจาก -5 คือเลขชี้กำลังของ 10) $a = 1.234; $a = -1.2e3; $a = 7E-5; หมายเหตุ ในรูปแบบ Aenหรือ AEN นั้น A สามารถเป็นตัวเลขที่มีจุดทศนิยมได้ (เช่นค่าที่กำหนดให้ตัวแปร $b ข้างต้น) ส่วน N จะต้องเป็นจำนวนเต็มเท่านั้น แต่ทั้ง A และ N อาจมีเครื่องหมายลบข้างหน้าก็ได้
ปัญหาเรื่องความแม่นยำของชนิดข้อมูล float เป็นเรื่องธรรมดาสำหรับชนิดข้อมูล float ที่บางครั้งการเก็บเลขจำนวนทศนิยมง่ายๆ เช่น 0.1 หรือ 0.7 จะมีการสูญเสียความแม่นยำ (precision) ของข้อมูลไปบ้างเล็กน้อย ซึ่งอาจทำให้รู้สึกแปลกใจกับผลลัพธ์ที่ได้ เช่น ดังนั้น จึงไม่ควรไว้ใจผลลัพธ์ของการคำนวณเลขทศนิยมมากเกินไป และไม่ควรเปรียบเทียบเลขทศนิยม 2 ค่าว่าเท่ากันหรือไม่ (เพราะมีโอกาสที่มันจะไม่เท่ากันทั้งๆที่ควรจะเท่ากัน) ถ้าต้องการความแม่นยำในการคำนวณเลขทศนิยมจริงๆ ให้ใช้ฟังก์ชั่นในกลุ่ม GMP หรือกลุ่ม BCMath ซึ่งสามารถกำหนดความแม่นยำในการคำนวณทางคณิตศาสตร์ได้เอง echo (int) ((0.1+0.7)*10)
การแปลงสตริงเป็นเลขจำนวนการแปลงสตริงเป็นเลขจำนวน convert_string_to_number.php $num = 1+"10.2 Little Piggies"; // บรรทัด 6 : ค่าสตริง "10.2 Little Piggies" จะถูกแปลงเป็นค่าจำนวนทศนิยม 10.2 show_var($num); $num = "10.0 pigs "+ 1; // บรรทัด 7 : ค่าสตริง "10.0 pigs" จะถูกแปลงเป็นค่าจำนวนทศนิยม 10.0 show_var($num); $num = "10.0 pigs " + 1.0 ; // บรรทัด 8 show_var($num); function show_var($var){ static $i = 1 ; echo "บรรทัด {$i}: "; var_dump($var); echo "<br>"; $i++; } ?> <? $num = 1+"10.5"; // บรรทัด 1 : ค่าสตริง "10.5" จะถูกแปลงเป็นค่าจำนวนทศนิยม 10.5 show_var($num); $num = 1+"-1.3e3"; // บรรทัด 2 : ค่าสตริง "-1.3e3" จะถูกแปลงเป็นค่าจำนวนทศนิยม -1.3 x 10 หรือ 1300 show_var($num); $num = 1+"bob-1.3e3"; // บรรทัด 3 : ค่าสตริง "bob-1.3e3" จะถูกแปลงเป็นค่าจำนวนเต็ม 0 show_var($num); $num = 1+"bob3"; // บรรทัด 4 : ค่าสตริง "bob3" จะถูกแปลงเป็นค่าจำนวนเต็ม 0 show_var($num); $num = 1+"10 Small Pigs"; // บรรทัด 5 : ค่าสตริง "10 Small Pigs" จะถูกแปลงเป็นค่าจำนวนเต็ม 0 show_var($num);
การแปลงสตริงเป็นเลขจำนวนการแปลงสตริงเป็นเลขจำนวน หมายเหตุ คุณไม่สามารถหารหัสแอสกี้ (ASCII) ของตัวอักษรโดยใช้วิธีแปลงตัวอักษรนั้นไปเป็น integer (เหมือนที่ทำได้ในภาษา C ) การแปลงระหว่างตัวอักษรกับค่าแอสกี้ ให้ใช้ฟังก์ชั่น ord และ chrโดยฟังก์ชั่น ordจะให้ผลลัพธ์ เป็นค่าแอสกี้ของตัวอักษรที่กำหนด ส่วนฟังก์ชั่นchr จะให้ผลลัพธ์เป็นสตริง ซึ่งบรรจุตัวอักษร 1 ตัวที่มีค่าแอสกี้ตามที่กำหนด
ฟังก์ชั่นที่ใช้ตรวจสอบชนิดข้อมูลฟังก์ชั่นที่ใช้ตรวจสอบชนิดข้อมูล • ฟังก์ชั่นis_int ใช้ตรวจสอบตัวแปรหนึ่งๆ ว่าเป็นชนิด integer หรือไม่ โดยจะให้ค่า TRUE ถ้าใช่ และให้ค่า FALSE ถ้าไม่ใช่ boolis_int (mixed ตัวแปร) <? $var1 = "8247"; $var2 = 76; if(is_int($var1)) echo "\$var1 คือตัวแปรชนิด integer<br>"; else echo "\$var1 ไม่ใช่ตัวแปรชนิด integer<br>"; if (is_int($var2)) echo "\$var2 คือตัวแปรชนิด integer<br>"; else echo "\$var2 ไม่ใช่ตัวแปรชนิด integer<br>"; ?>
ฟังก์ชั่นที่ใช้ตรวจสอบชนิดข้อมูลฟังก์ชั่นที่ใช้ตรวจสอบชนิดข้อมูล • ฟังก์ชั่น is_float ใช้ตรวจสอบตัวแปรว่าเป็นชนิด float หรือไม่ โดยให้ค่า TRUE ถ้าใช่ และให้ค่า FALSE ถ้าไม่ใช่ • ฟังก์ชั่น is_nummeric ใช้ตรวจสอบว่าตัวแปรเป็นชนิดเลขจำนวนหรือเป็นสตริงตัวเลข (Numeric String) หรือไม่ โดยจะให้ค่า TRUE ถ้าใช่ และให้ค่า FALSE ถ้าไม่ใช่ boolis_float (mixed ตัวแปร) boolis_nummeric (mixed ตัวแปร)
ฟังก์ชั่นที่ใช้ตรวจสอบชนิดข้อมูลฟังก์ชั่นที่ใช้ตรวจสอบชนิดข้อมูล is_numeric.php <? $var1 = "8247"; $var2 = "0-2619-0070"; if(is_numeric($var1)) echo "\$var1 คือเลขจำนวนหรือสตริงที่มีรูปแบบเป็นเลขจำนวน integer<br>"; else echo "\$var1 ไม่ใช่เลขจำนวนหรือสตริงที่มีรูปแบบเป็นเลขจำนวน integer<br>"; if (is_numeric($var2)) echo "\$var2 คือเลขจำนวนหรือสตริงที่มีรูปแบบเป็นเลขจำนวน integer"; else echo "\$var2 ไม่ใช่เลขจำนวนหรือสตริงที่มีรูปแบบเป็นเลขจำนวน integer"; ?>
ฟังก์ชั่นที่ใช้แปลงชนิดข้อมูลฟังก์ชั่นที่ใช้แปลงชนิดข้อมูล • ฟังก์ชั่น intval ใช้แปลงค่าของตัวแปรที่ระบุไปเป็นค่าจำนวนเต็ม แต่ถ้าฟังก์ชั่นทำงานล้มเหลว จะให้ค่า 0 การใช้ฟังก์ชั่นนี้กับอาร์เรย์ไม่มีสมาชิก (อาร์เรย์ว่าง) จะได้ค่า 0 เสมอ แต่ถ้าใช้กับอาร์เรย์ที่มีสมาชิกจะได้ค่า 1 เสมอ intintval (mixed ตัวแปร)
ฟังก์ชั่นที่ใช้แปลงชนิดข้อมูลฟังก์ชั่นที่ใช้แปลงชนิดข้อมูล <? echo "บรรทัด 1 : " . intval(42) . "<br>"; echo "บรรทัด 2 : " . intval(4.2) . "<br>"; echo "บรรทัด 3 : " . intval('42') . "<br>"; echo "บรรทัด 4 : " . intval('+42') . "<br>"; echo "บรรทัด 5 : " . intval('-42') . "<br>"; echo "บรรทัด 6 : " . intval(042) . "<br>"; echo "บรรทัด 7 : " . intval('042') . "<br>"; echo "บรรทัด 8 : " . intval(1e10) . "<br>"; echo "บรรทัด 9 : " . intval('1e10') . "<br>"; echo "บรรทัด 10 : " . intval(0x1A) . "<br>"; ?> intval.php
ฟังก์ชั่น intval ใช้แปลงค่าของตัวแปรที่ระบุไปเป็นค่าจำนวนทศนิยม ในคู่มือ PHP บอกว่าฟังก์ชั่นนี้ใช้กับ อาร์เรย์ไม่ได้ แต่ผู้เขียนทดลองแล้วพบว่าใช้ได้ โดยจะให้ผลลัพธ์เช่นเดียวกับฟังก์ชั่น intval คือถ้าอาร์เรย์ไม่มีสมาชิกจะได้ค่า 0 (ชนิด float) เสมอ แต่ถ้าอาร์เรย์มีสมาชิกจะได้ค่า 1 (ชนิด float) เสมอ intfloatvar (mixed ตัวแปร)
ฟังก์ชั่นที่ใช้ประมาณค่า/ปัดเศษฟังก์ชั่นที่ใช้ประมาณค่า/ปัดเศษ • ฟังก์ชั่น round หาค่าประมาณของเลขจำนวนโดยให้มีความแม่นยำตามที่กำหนด ความแม่นยำจะหมายถึง ตำแหน่งของตัวเลขหลังจุดทศนิยมกรณีกำหนดความแม่นยำเป็นค่าบวก สามารถกำหนดความแม่นยำเป็นค่าศูนย์หรือค่าลบได้ด้วย (ดีฟอลต์คือศูนย์) ซึ่งจะหมายถึงตำแหน่งของตัวเลขข้างหน้าจุดทศนิยม (0 = หลักหน่วย , -1= หลักสิบ ฯลฯ) float round (float เลขจำนวน [, intความแม่นยำ]) <? echo "บรรทัด 1 : " . round(3.4) . "<br>"; echo "บรรทัด 2 : " . round(3.5) . "<br>"; echo "บรรทัด 3 : " . round(3.6) . "<br>"; echo "บรรทัด 4 : " . round(3.6,0) . "<br>"; echo "บรรทัด 5 : " . round(1.9583,2) . "<br>"; echo "บรรทัด 6 : " . round(1241757,-3) . "<br>"; echo "บรรทัด 7 : " . round(5.045,2) . "<br>"; echo "บรรทัด 8 : " . round(5.045,2) . "<br>"; ?>
ฟังก์ชั่นที่ใช้ประมาณค่า/ปัดเศษฟังก์ชั่นที่ใช้ประมาณค่า/ปัดเศษ • ฟังก์ชั่น ceil ให้ค่าเป็นเลขจำนวนเต็มโดยการปัดเศษขึ้น ถึงแม้ว่าผลลัพธ์จะเป็นเลขจำนวนเต็มศูนย์ แต่ชนิดข้อมูลของมันจะเป็น float • ฟังก์ชั่น floor ให้ค่าเป็นเลขจำนวนเต็มโดยการปัดเศษลง ถึงแม้ว่าผลลัพธ์ จะเป็นเลขจำนวนเต็ม แต่ชนิดข้อมูลของมันจะเป็น float float ceil (float เลขจำนวน ) float floor (float เลขจำนวน )
ฟังก์ชั่นที่ใช้ประมาณค่า/ปัดเศษฟังก์ชั่นที่ใช้ประมาณค่า/ปัดเศษ ตัวอย่างแสดงการใช้ฟังก์ชั่น ceil และ floor (ให้สังเกตการปัดเศษค่าลบ) ceil_floor.php <? echo "บรรทัด 1 : " . ceil(4.3) . "<br>"; echo "บรรทัด 2 : " . ceil(9.99) . "<br>"; echo "บรรทัด 3 : " . ceil(-4.3) . "<br>"; echo "บรรทัด 4 : " . ceil(-9.99) . "<br>"; echo "บรรทัด 5 : " . floor(4.3) . "<br>"; echo "บรรทัด 6 : " . floor(9.99) . "<br>"; echo "บรรทัด 7 : " . floor(-4.3) . "<br>"; echo "บรรทัด 8 : " . floor(-9.99) . "<br>"; ?>
ฟังก์ชั่นที่ใช้เปรียบเทียบค่าฟังก์ชั่นที่ใช้เปรียบเทียบค่า • ฟังก์ชั่น min ใช้หาค่าต่ำสุด โดยสามารถระบุอาร์กิวเมนต์เป็นเลขจำนวนตั้งแต่ 2 ค่าขึ้นไป หรือระบุอาร์กิวเมนต์ที่บรรจุเลขจำนวนต่างๆไว้ก็ได้ฟังก์ชั่นนี้จะประเมินสตริงที่ไม่ใช่สตริงตัวเลข (Non-Numeric Srting) เป็นค่า 0 และจะให้ผลลัพธ์เป็นสตริงนั้น ถ้าหากมันมีค่าต่ำที่สุด mixed min (mixed เลขจำนวน1, mixed เลขจำนวน2, [, mixed เลขจำนวน3 ...]) หรือ mixed min (array อาร์เรย์ที่บรรจุเลขจำนวนต่างๆ ไว้)
ฟังก์ชั่นที่ใช้เปรียบเทียบค่าฟังก์ชั่นที่ใช้เปรียบเทียบค่า min.php <? echo "บรรทัด 1 : " . min(2,3,1,6,7) . "<br>"; $arr = array(2,4,5); echo "บรรทัด 2 : " . min($arr ) . "<br>"; echo "บรรทัด 3 : " . min(0,'สวัสดี') . "<br>"; echo "บรรทัด 4 : " . min('สวัสดี',0) . "<br>"; echo "บรรทัด 5ฟ : " . min('สวัสดี',-1) . "<br>"; ?>
ฟังก์ชั่นที่ใช้เปรียบเทียบค่าฟังก์ชั่นที่ใช้เปรียบเทียบค่า • ฟังก์ชั่น max ใช้หาค่าสูงสุด การใช้งานจะเหมือนกับฟังก์ชั่น min mixed max (mixed เลขจำนวน1, mixed เลขจำนวน2, [, mixed เลขจำนวน3 ...]) หรือ mixed max (array อาร์เรย์ที่บรรจุเลขจำนวนต่างๆ ไว้)
ฟังก์ชั่นที่ใช้จัดรูปแบบเลขจำนวนฟังก์ชั่นที่ใช้จัดรูปแบบเลขจำนวน • ฟังก์ชั่น number_format ให้ค่าสตริงที่เกิดจากการนำเลขจำนวนมาจัดรูปแบบ ฟังก์ชั่นนี้ต้องการอาร์กิวเมนต์ 1,2 หรือ 4 ตัว แต่จะขออธิบายเฉพาะกรณีระบุอาร์กิวเมนต์ 1 หรือ 2 ตัว • ถ้าระบุอาร์กิวเมนต์ตัวเดียวจะจัดรูปแบบเป็นตัวเลขจำนวนเต็ม (โดยไม่มีจุดทศนิยม) โดยมี commaคั่นตัวเลขทุก 3 หลักนับจากหลักหน่วยขึ้นไป • ถ้าระบุอาร์กิวเมนต์ 2 ตัว จะจัดรูปแบบเป็นทศนิยมที่มีจำนวนตัวเลขหลังจุดทศนิยมตามที่กำหนด และมี comma คั่นตัวเลขข้างหน้าจุดทศนิยมทุก 3 หลักนับจากหลักหน่วยขึ้นไป string number_format (float เลขจำนวน [, intจำนวนตัวเลขหลังจุดทศนิยม [, string dec_point , string thousands_sep]])
ฟังก์ชั่นที่ใช้จัดรูปแบบเลขจำนวนฟังก์ชั่นที่ใช้จัดรูปแบบเลขจำนวน <? $number = 1234.56; echo number_format($number) . "<br>"; echo number_format($number,1) . "<br>"; ?> number_format.php
สรุป • การเขียนค่าจำนวนเต็ม (Integer Literal) อาจเขียนในรูปของเลขฐานสิบ ฐานแปด หรือฐานสิบหกก็ได้ • เมื่อต้องการแปลงค่าใดๆ เป็นชนิด integer ให้ใช้ตัวดำเนินการ (int) หรือ (integer) หรือใช้ฟังก์ชั่น intval • การเขียนค่าจำนวนทศนิยม (Float Literal) อาจเขียนในรูปแบบที่ใช้กันทั่วไป หรือในรูปแบบวิทยาศาสตร์ คือ AeNก็ได้ ซึ่งหมายถึง A x 10N ( A คูณสิบ ยกกำลัง N) โดย A เป็นตัวเลขที่มีจุดทศนิยมได้ แต่ N ต้องเป็นเลขจำนวนเต็มเท่านั้น • เมื่อต้องการแปลงค่าใดๆ เป็นชนิด float ให้ใช้ตัวดำเนินการ (float) หรือ (double) หรือใช้ฟังก์ชั่นfloatval • ในการแปลงค่าสตริงเป็นค่าจำนวน ถ้าหากส่วนต้นหรือทั้งหมดของสตริงมีรูปแบบเป็นเลขจำนวน ก็จะได้ผลลัพธ์เป็นเลขจำนวนนั้น (ซึ่งเป็นชนิดข้อมูล integer หรือ float ขึ้นอยู่กับรูปแบบของเลขจำนวน) แต่ถ้าหากส่วนต้นของสตริงไม่ได้มีรูปแบบเป็นเลขจำนวน แม้ว่าส่วนที่ตามหลังมาจะมีรูปแบบเป็นเลขจำนวนก็ตาม จะได้ผลลัพธ์เป็นศูนย์ • ถ้าต้องการตรวจสอบค่าและชนิดข้อมูลของนิพจน์หนึ่งๆ ในโปรแกรม ให้ใช้ฟังก์ชั่น var_dumpa