php获取对象属性
㈠ php 中如何得到一个对象的类型
得到一个对象的类型,使用gettype()函数:
<?php
echogettype(1);//输出integer
echogettype(array());//输出array
得到一个对象是哪个类的实例,使用get_class()函数:
<?php
$o=newstdClass();
echoget_class();//输出stdClass
得到一个类或对象的方法和属性,要使用反射:
<?php
classMyClass{
public$var;
publicfunctionfoo(){}
}
$ref=newReflectionClass('MyClass');
$ref->getProperties();//会返回一组对象,用法参考PHP手册
$ref->getMethods();//会返回一组对象,用法参考PHP手册
$obj=newMyClass();
$ref=newReflectionObject($obj);
$ref->getProperties();
$ref->getMethods();
㈡ php中Get方法跟Post方法的区别
php中Get方法跟Post方法的区别
php——get方法 :
这个方法用来获取私有成员属性值的,有一个参数,参数传入你要获取的成员属性的名称,返回获取的属性值,这个方法不用手工的去调用,因为也可以把这个方法做成私有的方法,是在直接获取私有属性的时候对象自动调用的。
因为私有属性已经被封装上了,是不能直接获取值的,但是如果你在类里面加上了这个方法,在使用“echo$p1->name”这样的语句直接获取值的时候就会自动调用__get($name)方法,将属性name传给参数$name,通过这个方法的内部执行,返回传入的.私有属性的值。
如果成员属性不封装成私有的,对象本身就不会去自动调用这个方法。
php——post方法 :
这个方法用于传送数据,用法与get方法类似,但有区别。
区别 :
Get方法在超链接后边紧跟要传递的参数对于用户是可见的如:%D6%A3%D6%DD%B4%F3%D1%A7&fr=index&ie=utf-8
而Post方法传递的参数是不可见的。
GET是从服务器上获取数据;POST是向服务器传送数据。
在客户端,GET通过URL提交数据,数据在URL中可见;POST把数据放在form的数据体内提交。
GET提交的数据最多只有1024字节;POST提交的数据量无限制。
由于使用GET时,参数会显示在地址栏上,而POST不会,所以,如果这些数据是非敏感数据,那么使用GET;如果包含敏感数据,为了安全,用POST方法。
;㈢ php中count()函数的作用
PHP中count() 函数表示:计算数组中元素的个数,或者计算对象中属性的个数;
计算数组元素个数示例:
<?php
$arr=array("","google","soso");
echocount($arr);
//结果:3
?>
计算对象中的属性个数示例:
<?php
classPerson{
public$name;
public$age;
publicfunction__construct(){
$this->name='';
$this->age='10';
}
functionmsg(){
echo"msgfunction.";
}
}
//new对象
$per=newPerson();
//获取对象属性关联数组
$var=get_object_vars($per);
//计算对象属性个数
echocount($var);
//输出结果为:2
?>