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 )