ตัวแปร คือสิ่งที่ใช้เก็บค่าของข้อมูลในหน่วยความจำ ตัวแปรจะประกอบไปด้วยชื่อของตัวแปร (identifier) ใช้เพื่ออ้างอิงหรือเข้าถึงค่าภายในตัวแปร ตัวแปรเก็บข้อมูลในหน่วยความจำ ดังนั้นเราสามารถเข้าถึงค่าของตัวแปรและอัพเดทค่าได้ตลอดเวลา
การประกาศตัวแปร
ในการประกาศตัวแปรในภาษา PHP คุณไม่ต้องกำหนดประเภทของตัวแปรเหมือนในภาษา C หรือภาษาอื่นๆ ที่เป็นภาษาประเภท typed language ซึ่งตัวแปรจะขึ้นต้นด้วยเครื่องหมายดอลลา $n = 1; $n = 3.25; $n = "PHP"; 2 และตามด้วยชื่อของตัวแปร
$x = 1; $x = 2; $y = $x + 6;ในตัวอย่างเป็นการประกาศตัวแปรในภาษา PHP ในบรรทัดแรกเป็นการประกาศตัวแปร $n = 1; $n = 3.25; $n = "PHP"; 3 และกำหนดค่าเป็น $n = 1; $n = 3.25; $n = "PHP"; 4 ในบรรทัดทัดต่อมาเป็นการเปลี่ยนค่าของตัวแปร $n = 1; $n = 3.25; $n = "PHP"; 3 เป็น $n = 1; $n = 3.25; $n = "PHP"; 6 เพราะว่าเราได้ประกาศตัวแปรนี้ไปแล้ว ถ้าเรายังไม่ประกาศโปรแกรมจะทำการสร้างตัวแปรมาใหม่ ต่อมาเราประกาศตัวแปร $n = 1; $n = 3.25; $n = "PHP"; 7 และกำหนดค่าให้กับมันคือค่าของ $n = 1; $n = 3.25; $n = "PHP"; 8 ดังนั้นมันจะมีค่าเท่ากับ 8
การตั้งชื่อตัวแปรในภาษา PHP นั้นจะต้องประกอบไปด้วยตัวอักษร ตัวแปรเลขและเครื่องหมาย $n = 1; $n = 3.25; $n = "PHP"; 9 เท่านั้น และไม่สามารถขึ้นต้นด้วยตัวเลขได้ กฏนี้ยังใช้กับการกำหนดชื่ออื่นๆ ที่ผู้ใช้สร้างขึ้น ยกตัวอย่างเช่น ชื่อของฟังก์ชัน เมธอด หรือ คลาส
$myNumber = 8; // valid $my_number = 10.2; // valid $_temp = 0; // valid $score3 = 50; // valid $11name = "M"; // not valid, start with number $a.b = true; // not valid, contain dotInfo: ในการประกาศชื่อตัวแปรในภาษา PHP คุณสามารถใช้ตัวอักษรภาษาอื่นนอกเหนือจากภาษาอังกฤษได้ เช่น <?php $site = "MarcusCode"; $year = 2016; $pi = 3.14; echo var_dump($site); echo var_dump($year); echo var_dump($pi); echo isset($site), "\n"; unset($site); echo isset($site), "\n"; ?> 0
ในตัวอย่างเป็นการตั้งชื่อตัวแปรที่ถูกต้องและไม่ถูกต้องในภาษา PHP และชื่อของตัวแปรนั้นจะเป็นแบบ Case sensitive นั่นหมายความว่าตัวแปร <?php $site = "MarcusCode"; $year = 2016; $pi = 3.14; echo var_dump($site); echo var_dump($year); echo var_dump($pi); echo isset($site), "\n"; unset($site); echo isset($site), "\n"; ?> 1 <?php $site = "MarcusCode"; $year = 2016; $pi = 3.14; echo var_dump($site); echo var_dump($year); echo var_dump($pi); echo isset($site), "\n"; unset($site); echo isset($site), "\n"; ?> 2 และ <?php $site = "MarcusCode"; $year = 2016; $pi = 3.14; echo var_dump($site); echo var_dump($year); echo var_dump($pi); echo isset($site), "\n"; unset($site); echo isset($site), "\n"; ?> 3 นั้นเป็นคนละตัวแปรกัน
$n = 1; $n = 3.25; $n = "PHP";ในการประกาศตัวแปรในภาษา PHP คุณไม่จำเป็นต้องกำหนดประเภทให้กับตัวแปร ซึ่ง PHP จะจัดการเรื่องนี้ให้โดยอัตโนมัติ ในตัวอย่างเราประกาศตัวแปร <?php $site = "MarcusCode"; $year = 2016; $pi = 3.14; echo var_dump($site); echo var_dump($year); echo var_dump($pi); echo isset($site), "\n"; unset($site); echo isset($site), "\n"; ?> 4 และกำหนดค่า $n = 1; $n = 3.25; $n = "PHP"; 4 ทำให้ตัวแปรนี้เป็นประเภทจำนวนเต็ม ต่อมาเรากำหนดค่า <?php $site = "MarcusCode"; $year = 2016; $pi = 3.14; echo var_dump($site); echo var_dump($year); echo var_dump($pi); echo isset($site), "\n"; unset($site); echo isset($site), "\n"; ?> 6 ให้กับตัวแปร ประเภทของตัวแปรจะเปลี่ยนเป็นจำนวนจริง และเปลี่ยนเป็น String ตามลำดับ
ฟังก์ชันเกี่ยวกับตัวแปร
ในการทำงานกับตัวแปรในบางครั้ง เราใช้ฟังก์ชันเพื่อตรวจสอบบางอย่างเกี่ยวกับตัวแปร ต่อไปเราจะพูดเกี่ยวกับฟังก์ชันของตัวแปรในภาษา PHP
<?php $site = "MarcusCode"; $year = 2016; $pi = 3.14; echo var_dump($site); echo var_dump($year); echo var_dump($pi); echo isset($site), "\n"; unset($site); echo isset($site), "\n"; ?>PHP มีฟังก์ชันที่ให้เราสามารถใช้งานกับตัวแปรมากมาย ฟังก์ชัน <?php $site = "MarcusCode"; $year = 2016; $pi = 3.14; echo var_dump($site); echo var_dump($year); echo var_dump($pi); echo isset($site), "\n"; unset($site); echo isset($site), "\n"; ?> 7 ในการตรวจสอบประเภทของตัวแปร และใช้ฟังก์ชัน <?php $site = "MarcusCode"; $year = 2016; $pi = 3.14; echo var_dump($site); echo var_dump($year); echo var_dump($pi); echo isset($site), "\n"; unset($site); echo isset($site), "\n"; ?> 8 ในการตรวจสอบว่าตัวแปรถูกประกาศแล้วหรือไม่ และฟังก์ชัน <?php $site = "MarcusCode"; $year = 2016; $pi = 3.14; echo var_dump($site); echo var_dump($year); echo var_dump($pi); echo isset($site), "\n"; unset($site); echo isset($site), "\n"; ?> 9 ใช้สำหรับยกเลิกการประกาศตัวแปรดังกล่าวและคืนค่าหน่วยความจำให้ระบบ ในตัวอย่างด้านบนเราทดสอบตัวแปรกับฟังก์ชันต่างๆ
string(10) "MarcusCode" int(2016) float(3.14) 1นี่เป็นผลลัพธ์ของโปรแกรม ในบรรทัดสุดท้ายคุณจะเห็นบรรทัดว่างปล่าวซึ่งความจริงคือค่าของ string(10) "MarcusCode" int(2016) float(3.14) 1 0 ที่ไม่สามารถแสดงผลได้บน Console
ประเภทของข้อมูล
ประเภทข้อมูล คือการจำแนกประเภทของข้อมูลแบบต่างๆ การนำมาใช้งานกับตัวแปรในการเขียนโปรแกรม เช่น อายุ เป็นข้อมูลแบบตัวเลข และชื่อเป็นข้อมูลแบบตัวอักษรหรือ String ซึ่งประเภทของข้อมูลแต่ละแบบจะแตกต่างกันและใช้หน่วยความจำในการเก็บข้อมูลที่ต่างกัน
ในการเขียนโปรแกรมนั้นจะมีข้อมูลหลากหลายแบบ เพื่อที่จะจัดการข้อมูลปรเภทต่างๆ คุณจำเป็นต้องเข้าใจประเภทของข้อมูลก่อน ซึ่งในภาษา PHP จะมีข้อมูลแบ่งออกเป็น 8 ประเภท ได้แก่ Boolean Integer Float String Array Resource และ Null ต่อไปเราจะอธิบายแต่ละประเภท
Boolean
ฺBoolean คือประเภทข้อมูลที่มีค่าที่เป็นไปได้เพียงสองค่าคือ true หรือ false ซึ่งข้อมูลประเภทนี้ใช้หน่วยความจำในการเก็บข้อมูลน้อยที่สุด (1 bit) เราใช้ตัวแปร Boolean ในการเก็บค่าที่เป็นไปได้เพียงสองอย่าง เช่น กลางวันหรือกลางคืน เพศชายหรือเพศหญิง จำนวนคู่หรือจำนวนคี่ เป็นต้น
$male = true; $is_rain = false; $is_even_number = (5 % 2 == 0); $is_odd_number = !$is_even_number;ในตัวอย่างเราได้ประกาศตัวแปร string(10) "MarcusCode" int(2016) float(3.14) 1 1 ซึ่งเก็บค่า string(10) "MarcusCode" int(2016) float(3.14) 1 2 ซึ่งเป็นเพศชาย เมื่อตัวแปรนี้มีค่าเป็น false เราจะหมายถึงเพศหญิง ตัวแปรถัดมา string(10) "MarcusCode" int(2016) float(3.14) 1 3 เป็นตัวแปรเก็บสถานะการตกของฝน เรากำหนดเป็น string(10) "MarcusCode" int(2016) float(3.14) 1 0 หมายถึงฝนไม่ตก
ตัวแปร string(10) "MarcusCode" int(2016) float(3.14) 1 5 เป็นการเก็บค่าว่าตัวเลขเป็นเลขจำนวนคู่หรือไม่ โดยเราคำนวณจาก Expression โดยการตรวจสอบว่า 5 หารด้วยสองลงตัวหรือไม่ เพราะ 5 หารด้วยสองไม่ลงตัว ทำให้ได้ค่าเป็น string(10) "MarcusCode" int(2016) float(3.14) 1 0 และตัวแปร string(10) "MarcusCode" int(2016) float(3.14) 1 7 เราเก็บค่าตรงข้ามของตัวแปร string(10) "MarcusCode" int(2016) float(3.14) 1 5 ซึ่งตัวแปรนี้จะมีค่าเป็น string(10) "MarcusCode" int(2016) float(3.14) 1 2
Integer
Integer คือประเภทข้อมูลแบบจำนวนเต็ม (จำนวนที่ไม่มีทศนิยม) สามารถเป็นได้จำนวนเต็มบวกและจำนวนเต็มลบ มันใช้สำหรับเก็บข้อมูลที่สามารถนับได้ เช่น จำนวนของแอปเปิ้ลในตระกร้า คะแนนสอบวิชาคณิตศาสตร์ เป็นต้น
<?php $apple = 3; $score = -10; echo "I have $apple apples in the basket.\n"; echo "Your score is $score .\n"; $minute = 5; $second = 30; $total_second = ($minute * 60) + $second; echo "There are $total_second seconds left.\n"; ?>ในตัวอย่างเราประกาศตัวแปรชนิด Integer ทั้งหมด 5 ตัว โดยเรากำหนดค่าให้กับตัวแปรเหล่านั้น และแสดงค่าของตัวแปรออกทางหน้าจอ
I have 3 apples in the basket. Your score is -10. There are 330 seconds left.นี่เป็นผลลัพธ์ของโปรแกรม
ในภาษา PHP คุณยังสามารถกำหนดค่าให้กับตัวแปรในฐานต่างๆ ได้ด้วยการใส่ prefix ในแบบต่างๆ โดยในเลขฐาน 8 จะใช้ $male = true; $is_rain = false; $is_even_number = (5 % 2 == 0); $is_odd_number = !$is_even_number; 0 ในฐาน 16 จะใช้ $male = true; $is_rain = false; $is_even_number = (5 % 2 == 0); $is_odd_number = !$is_even_number; 1 และในฐาน 2 จะใช้ $male = true; $is_rain = false; $is_even_number = (5 % 2 == 0); $is_odd_number = !$is_even_number; 2 ซึ่งข้อมูลที่เก็บในตัวแปรจะถูกแปลงไปเป็นฐาน 10
<?php $decimal = 37; $octal = 045; $hexadecimal = 0x25; $binary = 0b00100101; echo "$decimal \n"; echo "$octal \n"; echo "$hexadecimal \n"; echo "$binary \n"; ?>ในตัวอย่างเป็นการกำหนดค่าให้กับตัวแปรในรูปแบบฐานต่างๆ เราได้กำหนดค่า 37 ให้กับตัวแปรทั้งหมดซึ่ง $male = true; $is_rain = false; $is_even_number = (5 % 2 == 0); $is_odd_number = !$is_even_number; 3 ในฐานแปด $male = true; $is_rain = false; $is_even_number = (5 % 2 == 0); $is_odd_number = !$is_even_number; 4 ในฐานสิบหกและ $male = true; $is_rain = false; $is_even_number = (5 % 2 == 0); $is_odd_number = !$is_even_number; 5 ในฐานสองนั้นมีค่าเท่ากับ 37 ในฐานสิบ
37 37 37 37นี่เป็นผลลัพธ์ของโปรแกรม
นอกจากนี้ในภาษา PHP ยังมีฟังกันในการแปลงตัวเลขไปยังฐานต่างๆ ที่คุณสามารถเรียกใช้ได้
ในตัวอย่างเราเรียกใช้ฟังก์ชันในการแปลงตัวเลขฐาน 10 ไปยังฐาน 2 แปลงฐาน 16 ไปยังฐาน 10 และแปลงฐาน 8 ไปยังฐาน 10 ตามลำดับ
$myNumber = 8; // valid $my_number = 10.2; // valid $_temp = 0; // valid $score3 = 50; // valid $11name = "M"; // not valid, start with number $a.b = true; // not valid, contain dot 1นี่เป็นผลลัพธ์ของโปรแกรม
Float
Floating number คือประเภทข้อมูลที่เก็บข้อมูลในรูปแบบของจำนวนจริง ซึ่งมักจะใช้ในการเก็บตัวเลขทีมีค่าและความละเอียดมาก เช่น ข้อมูลการคำนวณทางวิทยาศาตร์หรือตัวเลขที่มีจุดทศนิยม
$myNumber = 8; // valid $my_number = 10.2; // valid $_temp = 0; // valid $score3 = 50; // valid $11name = "M"; // not valid, start with number $a.b = true; // not valid, contain dot 2ในตัวอย่างเป็นการประกาศตัวแปรประเภท Floating number และกำหนดค่ราาในรูปแบบต่างๆ ในตัวแปร $male = true; $is_rain = false; $is_even_number = (5 % 2 == 0); $is_odd_number = !$is_even_number; 6 และ $male = true; $is_rain = false; $is_even_number = (5 % 2 == 0); $is_odd_number = !$is_even_number; 7 เป็นการกำหนดค่าตัวเลขปกติ ตัวแปร $male = true; $is_rain = false; $is_even_number = (5 % 2 == 0); $is_odd_number = !$is_even_number; 8 เป็นการกำหนดค่าจาก Expression และสองตัวแปรสุดท้ายเป็นการกำหนดค่าแบบสัญกรณ์วิทยาศาสตร์ เช่น $male = true; $is_rain = false; $is_even_number = (5 % 2 == 0); $is_odd_number = !$is_even_number; 9 หมายถึง 14.9 x 10 ^5 และ <?php $apple = 3; $score = -10; echo "I have $apple apples in the basket.\n"; echo "Your score is $score .\n"; $minute = 5; $second = 30; $total_second = ($minute * 60) + $second; echo "There are $total_second seconds left.\n"; ?> 0 หมายถึง 0.5 x 10 ^ -10
$myNumber = 8; // valid $my_number = 10.2; // valid $_temp = 0; // valid $score3 = 50; // valid $11name = "M"; // not valid, start with number $a.b = true; // not valid, contain dot 3นี่เป็นผลลัพธ์ของโปรแกรม
String
String คือประเภทข้อมูลประเภทข้อความหรือการนำตัวอักษรหลายๆ ตัวมาต่อกัน โดยความยาวของ String นั้นสามารถเปลี่ยนแปลงได้ซึ่งเป็นตัวแปรแบบไดนามิกส์ ในภาษา PHP นั้น สามารถเก็บตัวอักษรได้ทุกแบบ เช่น UTF-8 เนื่องจาก String มีเนื้อหาค่อนข้างมากเราจะพูดในภายหลังในบทของ String
$myNumber = 8; // valid $my_number = 10.2; // valid $_temp = 0; // valid $score3 = 50; // valid $11name = "M"; // not valid, start with number $a.b = true; // not valid, contain dot 4นี่เป็นตัวอย่างบางส่วนในการประกาศตัวแปรประเภท String
Array
อาเรย์ คือประเภทข้อมูลแบบชุดซึ่งมีการเก็บของข้อมูลเป็นลำดับโดยมี Index ในการอ้างถึงค่าของสมาชิกในอาเรย์ ยกตัวอย่างเช่น คุณต้องการเก็บรายชื่อของพนักงาน 10 คน คุณจะต้องใช้อาเรย์ในการเก็บข้อมูล ซึ่งจะทำให้สะดวกในการจัดการกับข้อมูลมากจาก อาเรย์มักจะใช้กับคำสั่งวนลูปเช่น คำสั่ง For และ Foreach เพื่อวนอ่านค่าในอาเรย์
$myNumber = 8; // valid $my_number = 10.2; // valid $_temp = 0; // valid $score3 = 50; // valid $11name = "M"; // not valid, start with number $a.b = true; // not valid, contain dot 5ในตัวอย่างเป็นการประกาศตัวแปรอาเรย์ในภาษา PHP ซึ่งเป็นอาเรย์ของ String และของ Integer ตามลำดับ เราใช้ฟังก์ชัน <?php $apple = 3; $score = -10; echo "I have $apple apples in the basket.\n"; echo "Your score is $score .\n"; $minute = 5; $second = 30; $total_second = ($minute * 60) + $second; echo "There are $total_second seconds left.\n"; ?> 1 เพื่อแสดงข้อมูลในอาเรย์ สำหรับข้อมูลประเภทอาเรย์เราจะพูดอย่างละเอียดอีกครั้งในบทของอาเรย์
Object
ออบเจ็ค คือประเภทข้อมูลแบบ Reference type ในขณะที่ข้อมูลที่เราได้กล่าวก่อนหน้านั้นเป็นแบบ Value type ซึ่งข้อมูลประเภทนี้อ้างถึงที่อยู่ของออบเจ็คในหน่วยความจำ หรือเรียกว่าตัวแปรพอยน์เตอร์ของข้อมูลที่อ้างไปยังตำแหน่งที่อยู่ในหน่วยความจำ สำหรับข้อมูลประเภทนี้คุณจะได้เรียนในบทของการเขียนโปรแกรมเชิงวัตถุของบทเรียนนี้
Resource
Resource คือประเภทข้อมูลพิเศษที่เก็บข้อมูลจากภายนอก โดยข้อมูลของตัวแปรประเภทนี้มักจะสร้างจากฟังก์ชันพิเศษ เช่น การอ่านข้อมูลจากฐานข้อมูล หรือการอ่านข้อมูลของรูปภาพ ข้อมูลเหล่านี้จะถูกเก็บไว้ในตัวแปร Resource ในรูปแบบของ Binary
Null
NULL เป็นข้อมูลชนิดพิเศษในการบ่งบอกถึงว่าตัวแปรไม่ได้ถูกกำหนดหรือสร้างขึ้น ซึ่ง NULL เป็นประเภทข้อมูลของมันเอง ตัวแปรจะมีค่าเป็น NULL ถ้าหากมันถูกกำหนดโดย <?php $apple = 3; $score = -10; echo "I have $apple apples in the basket.\n"; echo "Your score is $score .\n"; $minute = 5; $second = 30; $total_second = ($minute * 60) + $second; echo "There are $total_second seconds left.\n"; ?> 2 หรือยังไม่ได้กำหนดค่า หรือการใช้ฟังก์ชัน <?php $site = "MarcusCode"; $year = 2016; $pi = 3.14; echo var_dump($site); echo var_dump($year); echo var_dump($pi); echo isset($site), "\n"; unset($site); echo isset($site), "\n"; ?> 9 เพื่อยกเลิกตัวแปร
$myNumber = 8; // valid $my_number = 10.2; // valid $_temp = 0; // valid $score3 = 50; // valid $11name = "M"; // not valid, start with number $a.b = true; // not valid, contain dot 6ในตัวอย่างเป็นการประกาศตัวแปรที่มีค่าเป็น <?php $apple = 3; $score = -10; echo "I have $apple apples in the basket.\n"; echo "Your score is $score .\n"; $minute = 5; $second = 30; $total_second = ($minute * 60) + $second; echo "There are $total_second seconds left.\n"; ?> 2 ซึ่งมันแบบ case-insensitive สามารถใช้ <?php $apple = 3; $score = -10; echo "I have $apple apples in the basket.\n"; echo "Your score is $score .\n"; $minute = 5; $second = 30; $total_second = ($minute * 60) + $second; echo "There are $total_second seconds left.\n"; ?> 5 ได้เช่นกัน คุณสามารถใช้ฟังก์ชัน <?php $apple = 3; $score = -10; echo "I have $apple apples in the basket.\n"; echo "Your score is $score .\n"; $minute = 5; $second = 30; $total_second = ($minute * 60) + $second; echo "There are $total_second seconds left.\n"; ?> 6 เพื่อตรวจสอบตัวแปรได้
การแปลงข้อมูลในภาษา PHP
ในการประกาศตัวแปรและกำหนดค่าให้กับตัวแปรนั้น ภาษา PHP จะตรวจสอบค่าที่เราได้กำหนดให้กับตัวแปรว่าเป็นข้อมูลประเภทไหน ซึ่งเรีบกว่า Implicit type conversion ในภาษา PHP คุณสามารถแปลงค่าข้อมูลอีกประเภทหนึ่งไปเป็นอีกประเภทหนึ่งได้เอง เราเรียกว่า Explicit type conversion หรือ Type casting มาดูตัวอย่าง
$myNumber = 8; // valid $my_number = 10.2; // valid $_temp = 0; // valid $score3 = 50; // valid $11name = "M"; // not valid, start with number $a.b = true; // not valid, contain dot 7ในตัวอย่างเป็นการแปลงข้อมูลจาก Integer ไป Float โดยการ Type casting เราใช้เครื่องหมายวงเล็บ <?php $apple = 3; $score = -10; echo "I have $apple apples in the basket.\n"; echo "Your score is $score .\n"; $minute = 5; $second = 30; $total_second = ($minute * 60) + $second; echo "There are $total_second seconds left.\n"; ?> 7 ภายในเป็นประเภทข้อมูลที่ต้องการแปลงไปยัง เช่น <?php $apple = 3; $score = -10; echo "I have $apple apples in the basket.\n"; echo "Your score is $score .\n"; $minute = 5; $second = 30; $total_second = ($minute * 60) + $second; echo "There are $total_second seconds left.\n"; ?> 8 <?php $apple = 3; $score = -10; echo "I have $apple apples in the basket.\n"; echo "Your score is $score .\n"; $minute = 5; $second = 30; $total_second = ($minute * 60) + $second; echo "There are $total_second seconds left.\n"; ?> 9 I have 3 apples in the basket. Your score is -10. There are 330 seconds left. 0 I have 3 apples in the basket. Your score is -10. There are 330 seconds left. 1 เป็นต้น
$myNumber = 8; // valid $my_number = 10.2; // valid $_temp = 0; // valid $score3 = 50; // valid $11name = "M"; // not valid, start with number $a.b = true; // not valid, contain dot 8นี่เป็นผลลัพธ์ของโปรแกรม
การเท่ากันของข้อมูล (Boolean)
เนื่องจากภาษา PHP นั้นมีประเภทข้อมูลเป็นแบบไดนามิกส์ โปรแกรมเมอร์ไม่จำเป็นต้องประกาศประเภทของข้อมูลในตอนสร้างตัวแปร ดังนั้นตัวแปรต่างๆ จึงสามารถที่จะเปรียบเทียบได้กับ Boolean เมื่อคุณใช้ค่าที่ไม่ใช่ Boolean ในบางบริบทของโปรแกรม
Boolean มีค่าที่เป็นไปได้คือ string(10) "MarcusCode" int(2016) float(3.14) 1 2 และ string(10) "MarcusCode" int(2016) float(3.14) 1 0 ค่าต่อไปนี้จะมีค่าเท่ากับ string(10) "MarcusCode" int(2016) float(3.14) 1 0 ของ ฺBoolean
- Boolean ที่ถูกกำหนดค่า string(10) "MarcusCode" int(2016) float(3.14) 1 0
- Integer ที่มีค่าเป็น $male = true; $is_rain = false; $is_even_number = (5 % 2 == 0); $is_odd_number = !$is_even_number; 0
- Float ที่มีค่าเป็น I have 3 apples in the basket. Your score is -10. There are 330 seconds left. 7
- String ที่มีค่าเป็นว่างปล่าว (I have 3 apples in the basket. Your score is -10. There are 330 seconds left. 8) หรือ I have 3 apples in the basket. Your score is -10. There are 330 seconds left. 9
- อาเรย์ ที่ไม่มีสมาชิก
- ตัวแปรที่มีค่าเป็น NULL
- ออบเจ็คของ SimpleXML ที่สร้างด้วย Tag ที่ว่างปล่าว
ต่อไปนี้เป็นตัวอย่างที่จะแสดงให้เห็นถึงการเท่ากันดังกล่าวโดยการ Casting
$myNumber = 8; // valid $my_number = 10.2; // valid $_temp = 0; // valid $score3 = 50; // valid $11name = "M"; // not valid, start with number $a.b = true; // not valid, contain dot 9ในตัวอย่างเราได้แสดงให้คุณเห็นสำหรับข้อมูลประเภทอื่นๆ ที่ถูกแปลงไปยัง Boolean
$n = 1; $n = 3.25; $n = "PHP"; 0และนี่เป็นผลลัพธ์ของโปรแกรม
ดังนั้นคุณควรจะระวังในการใช้งานค่าต่างๆ ในการเปรียบเทียบ ตัวอย่างข้างล่างนี้เป็นปัญหาที่เกิดขึ้นกับหลายคนเมื่อพวกเขาไม่เข้าใจวิธีการเปรียบเทียบในภาษา PHP ซึ่งทั้งสามบล็อคจะถูกประมวลผลเสมอเพราะข้อมูลประเภทอื่นถูกแปลงเป็น Boolean เมื่อมันทำงานกับคำสั่ง If
$n = 1; $n = 3.25; $n = "PHP"; 1ในบทนี้ คุณได้เรียนรู้เกี่ยวการประกาศและใช้งานตัวแปรและประเภทข้อมูลต่างๆ ที่ใช้ในวัตถุประสงค์ที่แตกต่างกัน รวมถึงการแปลงข้อมูลในภาษา PHP