ประเภทตัวแปร การเล่นกล (การเล่นกล) PHP ไม่ต้องการ (หรือไม่รองรับ) การประกาศตัวแปรเพื่อระบุประเภทของตัวแปร ประเภทของตัวแปรจะถูกกำหนดโดยบริบทที่ใช้ตัวแปร นั่นคือ ถ้าคุณให้ตัวแปร หาก var ได้รับการกำหนดให้เป็นค่าสตริง var จะกลายเป็นตัวแปรสตริง หากคุณกำหนดจำนวนเต็มให้กับ var ก็จะกลายเป็นตัวแปรจำนวนเต็ม ตัวอย่างของ PHP ที่แปลงประเภทตัวแปรโดยอัตโนมัติคือตัวดำเนินการบวก '+' ถ้าตัวถูกดำเนินการใดๆ เป็นค่าสองเท่า ตัวถูกดำเนินการทั้งหมดจะถูกประเมินว่าเป็นค่าสองเท่า และผลลัพธ์จะเป็นค่าสองเท่าด้วย มิฉะนั้น ตัวถูกดำเนินการจะถือเป็นจำนวนเต็ม และผลลัพธ์จะเป็นจำนวนเต็ม โปรดทราบว่าการดำเนินการนี้ไม่ส่งผลต่อประเภทตัวแปรของตัวถูกดำเนินการแต่ละตัว การเปลี่ยนแปลงเพียงอย่างเดียวคือวิธีการประมวลผลตัวถูกดำเนินการระหว่างการคำนวณ |
|
หากคุณคิดว่าสองนิพจน์สุดท้ายในตัวอย่างข้างต้นดูแปลกเล็กน้อย โปรดดูส่วน "การแปลงสตริง" หากคุณต้องการบังคับให้ประเมินตัวแปรเป็นประเภทคงที่ โปรดดูส่วน "การแคสต์" หากคุณต้องการเปลี่ยนประเภทของตัวแปร โปรดดูคำอธิบายของฟังก์ชัน "settype()" การกำหนดประเภทของตัวแปร เนื่องจาก PHP กำหนดประเภทของตัวแปรเองและโดยทั่วไปจะแปลงตามความจำเป็น ประเภทของตัวแปรเฉพาะจึงไม่ชัดเจนเสมอไป PHP มีฟังก์ชันสำหรับค้นหาประเภทของตัวแปรนี้ ฟังก์ชันเหล่านี้ได้แก่ gettype(), is_long(), is_double(), is_string(), is_array() และ is_object() Type casting Type casting ใน PHP นั้นเหมือนกับใน C: คุณจะต้องมี type ที่เขียนไว้ วงเล็บหน้าตัวแปรที่จะบังคับ |
|
อนุญาตให้ใช้วิธีการบังคับดังต่อไปนี้: (int), (จำนวนเต็ม) - บังคับเป็นจำนวนเต็ม (จริง), (สองเท่า), (ลอย) - บังคับเป็นสองเท่า (สตริง) - บังคับเป็นสตริง (อาร์เรย์) - บังคับเป็นอาร์เรย์ (วัตถุ ) – บังคับกับวัตถุ โปรดทราบว่าอนุญาตให้ใช้ แท็บและช่องว่างภายในวงเล็บ ดังนั้นคำสั่งต่อไปนี้จึงเทียบเท่ากัน: $ foo = (int) $bar; $foo = (int) $bar; ค่าตัวเลข ผลลัพธ์ และประเภทจะถูกกำหนดตามที่อธิบายไว้ด้านล่าง หากสตริงนี้มีอักขระ '.', 'e' หรือ 'E' จะถือเป็นตัวแปรประเภทคู่ มิฉะนั้นจะถือเป็นจำนวนเต็ม ค่าของสตริงนี้ถูกกำหนดโดยคำนำหน้า ถ้าสตริงขึ้นต้นด้วยข้อมูลตัวเลขที่ถูกต้อง ข้อมูลตัวเลขจะเป็นค่าที่ใช้ประเมินสตริง มิฉะนั้นค่าจะเป็นศูนย์ ข้อมูลตัวเลขที่ถูกต้องจะเป็นไปตามสัญลักษณ์ต่อไปนี้ ตามด้วยตัวเลขหนึ่งหลักขึ้นไป (ซึ่งอาจรวมจุดทศนิยม) ตามด้วยเลขชี้กำลังที่เป็นทางเลือก เลขชี้กำลังประกอบด้วยตัวเลขหนึ่งหลักขึ้นไปตามด้วย 'e' หรือ 'E' |
|
สำหรับข้อมูลเพิ่มเติม โปรดดูส่วนคู่มือ Unix บน strtod(3) |