ความหมายและการใช้งาน
ใน PHP วัตถุ เป็นชนิดข้อมูลผสม (ร่วมกับอาร์เรย์) ค่ามากกว่าหนึ่งประเภทสามารถจัดเก็บไว้ด้วยกันในตัวแปรเดียว ออบเจ็กต์คืออินสแตนซ์ของคลาสที่มีอยู่แล้วภายในหรือที่ผู้ใช้กำหนด นอกจากคุณสมบัติแล้ว คลาสยังกำหนดฟังก์ชันที่เกี่ยวข้องกับข้อมูลอีกด้วย
ตัวแปรหลัก (สเกลาร์) อาร์เรย์ และอ็อบเจ็กต์อื่นๆ สามารถส่งไปยังประเภทข้อมูลออบเจ็กต์ได้โดยใช้ตัวดำเนินการแคสต์ PHP ให้ stdClass เป็นคลาสว่างทั่วไปซึ่งมีประโยชน์สำหรับการเพิ่มคุณสมบัติแบบไดนามิกและการแคสต์
ไวยากรณ์
ในการประกาศวัตถุของคลาส เราจำเป็นต้องใช้คำสั่งใหม่
class myclass { .. .. } $obj=new myclass;
ตัวอย่าง
<?php class SayHello{ function hello(){ echo "Hello World"; } } $obj=new SayHello; $obj->hello(); ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
Hello World
ออบเจ็กต์ของ stdClass เป็นโมฆะในการเริ่มต้น เราเพิ่มคุณสมบัติแบบไดนามิกได้
ตัวอย่าง
<?php $obj=new stdClass; $obj->name="Deepak"; $obj->age=21; $obj->marks=75; print_r($obj); ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
stdClass Object( [name] => Deepak [age] => 21 [marks] => 75 )
Array สามารถพิมพ์ไปยังวัตถุได้ดังนี้
ตัวอย่าง
<?php $arr=array("name"=>"Deepak", "age"=>21, "marks"=>75); $obj=(object)$arr; print_r($obj); ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
stdClass Object( [name] => Deepak [age] => 21 [marks] => 75 )
ในทางกลับกัน วัตถุสามารถส่งไปยังอาร์เรย์ได้
ตัวอย่าง
<?php $obj=new stdClass; $obj->name="Deepak"; $obj->age=21; $obj->marks=75; $arr=(array)$obj; print_r($arr); ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
Array( [name] => Deepak [age] => 21 [marks] => 75 )
ตัวแปรประเภทสเกลาร์ใดๆ ก็สามารถแปลงเป็นอ็อบเจ็กต์ตามการหล่อแบบได้ ค่าของตัวแปรสเกลาร์กลายเป็นค่าของ สเกลาร์ . ของอ็อบเจ็กต์ ทรัพย์สิน
ตัวอย่าง
<?php $name="Deepak"; $age=21; $percent=75.50; $obj1=(object)$name; print_r($obj1); $obj2=(object)$age; print_r($obj2); $obj3=(object)$percent; print_r($obj3); ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
stdClass Object( [scalar] => Deepak ) stdClass Object( [scalar] => 21 ) stdClass Object( [scalar] => 75.5 )