Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ออบเจ็กต์ PHP


ความหมายและการใช้งาน

ใน 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
)