<?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";}
*/
//对数组和对象序列化输出后可以清楚的看到对象与数组的区别
// =======我用一句话来概括===>对象在底层的存储就是属性数组+类指针
//从上述的例子中还可以得到对象与类的关系
/* 对象本身就是数据,对象本身不包含方法,但是这个对象有一个指针指向一个类,这个类里面 可以有方法。所以这也解释了对象引用传递
*
*/
?>
php对象与数组的区别,类与对象的联系
最新推荐文章于 2025-01-12 09:38:57 发布