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

<?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";}
	*/
	//对数组和对象序列化输出后可以清楚的看到对象与数组的区别
	// =======我用一句话来概括===>对象在底层的存储就是属性数组+类指针

	//从上述的例子中还可以得到对象与类的关系
	/* 对象本身就是数据,对象本身不包含方法,但是这个对象有一个指针指向一个类,这个类里面		可以有方法。所以这也解释了对象引用传递
	*
	*/

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值