php对象比较大小,PHP 面向对象:对象的比较
簡明現代魔法 -> PHP服務器腳本 -> PHP 面向對象:對象的比較
PHP 面向對象:對象的比較
2010-04-07
在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 '
';
$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 '
';
$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对象比较大小,PHP 面向对象:对象的比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 恢复 火狐浏览器书签、插件、密码等
- 下一篇: 天翼网关安装php,AC双频光猫拆机:天