时间:2021-04-16
在PHP中有 = 赋值符号、== 等于符号 和 === 全等于符号, 这些符号代表什么意思?
当使用比较操作符(==)时,对象以一种很简单的规则比较:当两个对象有相同的属性和值,属于同一个类且被定义在相同的命名空间中,则两个对象相等。等于符号比较对象时,比较对象是否有相同的属性和值。
注意:== 比较两个不同的对象的时候,可能相等也可能不等。
<?
// 1-7.php
class Person{
public $name = "NickName";
}
//分别创建两个对象
$p = new Person();
$p1 = new Person();
//比较对象
if($p == $p1)
{
echo '$p 和 $p1 内容一致。';
}
else
{
echo '$p 和 $p1 内容不一致。';
}
echo '<br>';
$p->name = 'Gonn';
if($p == $p1)
{
echo '$p 和 $p1 内容一致。';
}
else
{
echo '$p 和 $p1 内容不一致。';
}
?>
程序运行结果为:
$p 和 $p1 内容一致。
$p 和 $p1 内容不一致。
使用 == 符号比较两个对象 ,比较的仅仅是两个对象的内容是否一致。
当使用全等符(===)时,当且仅当两个对象指向相同类(在某一特定的命名空间中)的同一个对象时才相等。
是否在是同一个对象,两边指向的对象是否有同样的内存地址。
<?
// 1-8.php
class Person{
public $name = "NickName";
}
//分别创建两个对象
$p = new Person();
$p1 = new Person();
//比较对象
if($p === $p1)
{
echo '$p 和 $p1 是一个对象';
}
else
{
echo '$p 和 $p1 不是一个对象';
}
echo '<br>';
$p->name = 'Tom';
if($p === $p1)
{
echo '$p 和 $p1 是一个对象';
}
else
{
echo '$p 和 $p1 不是一个对象';
}
?>
程序运行结果为:
$p 和 $p1 不是一个对象
$p 和 $p1 不是一个对象
结果 === 比较的是两个变量是否一个对象。
一个等于符号(=)表示赋值,是赋值计算。
如果将对象赋予变量,是指变量将指向这个对象。
<?
// 1-9.php
class Person{
}
$p = new Person();
$p1 = new Person();
$p2 = $p1; // 变量$p2 指向$p1指向的对象.
if($p2 === $p1)
{
echo '$p2 和 $p1 指向一个对象。';
}
else
{
echo '$p2 和 $p1 不指向一个对象。';
}
echo '
';
$p = $p1; // 变量$p 指向$p1指向的对象.
if($p === $p1)
{
echo '$p 和 $p1 指向一个对象。';
}
else
{
echo '$p2和 $p1 不指向一个对象。';
}
?>
程序运行结果为:
$p2 和 $p1 指向一个对象。
$p 和 $p1 指向一个对象。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
PHP5中加入了很多面向对象的思想,PHP5的面向对象比较接近Java的面向对象思想。我们这里对PHP5中的static和const关键字作用进行一下描述,希望
面向对象的方式先看看如果连接错误等的处理,PHP中PDO的错误处理,使用面向对象的方式来处理:复制代码代码如下:这里利用我们PHP5面向对象的异常处理特征,如果
与大多数可以面向对象的编程语言不一样,PHP是同时支持面向过程和面向对象的编程方式,PHP开发者可以在面向过程和面向对象二者中自由选择其一或是混合使用,不过由于
PHP5是一具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性,但是有部分概念也比较绕人,所以今天拿出来说说,说的不好,请高手见谅.(
本文实例分析了PHP面向对象程序设计方法。分享给大家供大家参考,具体如下:PHP5开始支持面向对象,示例如下:attr1=$param;echo