php对象与数组的区别,类与对象的联系

来源:互联网 发布:红蚂蚁网络与阿里巴巴 编辑:程序博客网 时间:2024/06/05 10:43
<?php/**数组与对象的区别*对象是什么与类的联系?*类定义了一系列的方法和属性,并提供了实际操作的细节,这些方法可以用来对属性进行加工*对象含有类的属性的值,这就是类的实例化。正是由于属性的不同,才能区分不同的对象*为了看清数组与对象真正的区别看下边的例子*/class person{public $name;public $gender;public function say(){echo $this->name,'is',$this->gender;}}$student = new person();$student->name='tom';$student->gender='male';//$student->say();$teacher = new person();$teacher->name='Kate';$teacher->gender='female';//$teacher->say();$arr_student=array('name'=>'tom','gender'=>'male');$arr_teacher=array('name'=>'Kate','gender'=>'female');/*序列化后的含义*a:<n>:{<key 1><value 1><key 2><value 2>...<key n><value n>}**O:<length>:"<class name>":<n>:{<field name 1><field value 1><field name 2><field value 2>...<field name n><field value n>}*/echo serialize($student);echo PHP_EOL;echo serialize($arr_student);echo PHP_EOL;/*O:6:"person":2:{s:4:"name";s:3:"tom";s:6:"gender";s:4:"male";}a:2:{s:4:"name";s:3:"tom";s:6:"gender";s:4:"male";}*/echo serialize($teacher);echo PHP_EOL;echo serialize($arr_teacher);/*O:6:"person":2:{s:4:"name";s:4:"Kate";s:6:"gender";s:6:"female";}a:2:{s:4:"name";s:4:"Kate";s:6:"gender";s:6:"female";}*///对数组和对象序列化输出后可以清楚的看到对象与数组的区别// =======我用一句话来概括===>对象在底层的存储就是属性数组+类指针//从上述的例子中还可以得到对象与类的关系/* 对象本身就是数据,对象本身不包含方法,但是这个对象有一个指针指向一个类,这个类里面可以有方法。所以这也解释了对象引用传递**/?>

0 1
原创粉丝点击