PHP对象。

定义和用法

在PHP中,对象是一种复合数据类型(以及数组)。可以将多个类型的值一起存储在单个变量中。对象是内置类或用户定义类的实例。除了属性,类还定义与数据关联的功能。

可以使用强制转换运算符将主(标量)变量,数组和其他对象强制转换为对象数据类型。PHP提供stdClass作为通用空类,对于动态添加属性和强制转换非常有用。

语法

要声明一个类的对象,我们需要使用new语句

class myclass
{
   ..
   ..
}
$obj=new myclass;

示例

<?php
class SayHello{
   function hello(){
      echo "Hello World";
   }
}
$obj=new SayHello;
$obj->hello();
?>

输出结果

这将产生以下结果-

Hello World

开头的stdClass对象为null。我们可以动态添加属性

示例

<?php
$obj=new stdClass;
$obj->name="Deepak";
$obj->age=21;
$obj->marks=75;
print_r($obj);
?>

输出结果

这将产生以下结果-

stdClass Object(
   [name] => Deepak
   [age] => 21
   [marks] => 75
)

可以将数组类型转换为对象,如下所示

示例

<?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
)