ความหมายและการใช้งาน
ใน 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 )