百度
360搜索
搜狗搜索

PHP 面向对象:对象的比较详细介绍

  在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 指向一个对象。

阅读更多 >>>  日语的の手机上怎么打

网站数据信息

"PHP 面向对象:对象的比较"浏览人数已经达到35次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:PHP 面向对象:对象的比较的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!