language.oop.object-comparison.html
来自「php的帮助文档,涉及到PHP的案例和基本语法,以及实际应用内容」· HTML 代码 · 共 95 行 · 第 1/2 页
HTML
95 行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>Comparing objects</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body><div style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="language.oop.html">Classes and Objects (PHP 4)</a></div> <div class="next" style="text-align: right; float: right;"><a href="language.oop5.html">Classes and Objects (PHP 5)</a></div> <div class="up"><a href="language.oop.html">Classes and Objects (PHP 4)</a></div> <div class="home"><a href="index.html">PHP Manual</a></div></div><hr /><div id="language.oop.object-comparison" class="sect1"> <h2 class="title">Comparing objects</h2> <p class="para"> In PHP 4, objects are compared in a very simple manner, namely: Two object instances are equal if they have the same attributes and values, and are instances of the same class. Similar rules are applied when comparing two objects using the identity operator (<i>===</i>). </p> <p class="para"> If we were to execute the code in the example below: <div class="example"> <p><b>Example #1 Example of object comparison in PHP 4</b></p> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">bool2str</span><span style="color: #007700">(</span><span style="color: #0000BB">$bool</span><span style="color: #007700">) {<br /> if (</span><span style="color: #0000BB">$bool </span><span style="color: #007700">=== </span><span style="color: #0000BB">false</span><span style="color: #007700">) {<br /> return </span><span style="color: #DD0000">'FALSE'</span><span style="color: #007700">;<br /> } else {<br /> return </span><span style="color: #DD0000">'TRUE'</span><span style="color: #007700">;<br /> }<br />}<br /><br />function </span><span style="color: #0000BB">compareObjects</span><span style="color: #007700">(&</span><span style="color: #0000BB">$o1</span><span style="color: #007700">, &</span><span style="color: #0000BB">$o2</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">'o1 == o2 : '</span><span style="color: #007700">.</span><span style="color: #0000BB">bool2str</span><span style="color: #007700">(</span><span style="color: #0000BB">$o1 </span><span style="color: #007700">== </span><span style="color: #0000BB">$o2</span><span style="color: #007700">).</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /> echo </span><span style="color: #DD0000">'o1 != o2 : '</span><span style="color: #007700">.</span><span style="color: #0000BB">bool2str</span><span style="color: #007700">(</span><span style="color: #0000BB">$o1 </span><span style="color: #007700">!= </span><span style="color: #0000BB">$o2</span><span style="color: #007700">).</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /> echo </span><span style="color: #DD0000">'o1 === o2 : '</span><span style="color: #007700">.</span><span style="color: #0000BB">bool2str</span><span style="color: #007700">(</span><span style="color: #0000BB">$o1 </span><span style="color: #007700">=== </span><span style="color: #0000BB">$o2</span><span style="color: #007700">).</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /> echo </span><span style="color: #DD0000">'o1 !== o2 : '</span><span style="color: #007700">.</span><span style="color: #0000BB">bool2str</span><span style="color: #007700">(</span><span style="color: #0000BB">$o1 </span><span style="color: #007700">!== </span><span style="color: #0000BB">$o2</span><span style="color: #007700">).</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />}<br /><br />class </span><span style="color: #0000BB">Flag </span><span style="color: #007700">{<br /> var </span><span style="color: #0000BB">$flag</span><span style="color: #007700">;<br /><br /> function </span><span style="color: #0000BB">Flag</span><span style="color: #007700">(</span><span style="color: #0000BB">$flag</span><span style="color: #007700">=</span><span style="color: #0000BB">true</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">flag </span><span style="color: #007700">= </span><span style="color: #0000BB">$flag</span><span style="color: #007700">;<br /> }<br />}<br /><br />class </span><span style="color: #0000BB">SwitchableFlag </span><span style="color: #007700">extends </span><span style="color: #0000BB">Flag </span><span style="color: #007700">{<br /><br /> function </span><span style="color: #0000BB">turnOn</span><span style="color: #007700">() {<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">flag </span><span style="color: #007700">= </span><span style="color: #0000BB">true</span><span style="color: #007700">;<br /> }<br /><br /> function </span><span style="color: #0000BB">turnOff</span><span style="color: #007700">() {<br /> </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">flag </span><span style="color: #007700">= </span><span style="color: #0000BB">false</span><span style="color: #007700">;<br /> }<br />}<br /><br /></span><span style="color: #0000BB">$o </span><span style="color: #007700">= new </span><span style="color: #0000BB">Flag</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$p </span><span style="color: #007700">= new </span><span style="color: #0000BB">Flag</span><span style="color: #007700">(</span><span style="color: #0000BB">false</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$q </span><span style="color: #007700">= new </span><span style="color: #0000BB">Flag</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$r </span><span style="color: #007700">= new </span><span style="color: #0000BB">SwitchableFlag</span><span style="color: #007700">();<br /><br />echo </span><span style="color: #DD0000">"Compare instances created with the same parameters\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">compareObjects</span><span style="color: #007700">(</span><span style="color: #0000BB">$o</span><span style="color: #007700">, </span><span style="color: #0000BB">$q</span><span style="color: #007700">);<br /><br />echo </span><span style="color: #DD0000">"\nCompare instances created with different parameters\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">compareObjects</span><span style="color: #007700">(</span><span style="color: #0000BB">$o</span><span style="color: #007700">, </span><span style="color: #0000BB">$p</span><span style="color: #007700">);<br /><br />echo </span><span style="color: #DD0000">"\nCompare an instance of a parent class with one from a subclass\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">compareObjects</span><span style="color: #007700">(</span><span style="color: #0000BB">$o</span><span style="color: #007700">, </span><span style="color: #0000BB">$r</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span></span></code></div> </div> <div class="example-contents"><p>The above example will output:</p></div> <div class="example-contents"><pre><div class="cdata"><pre> Compare instances created with the same parameterso1 == o2 : TRUEo1 != o2 : FALSEo1 === o2 : TRUEo1 !== o2 : FALSECompare instances created with different parameterso1 == o2 : FALSEo1 != o2 : TRUEo1 === o2 : FALSEo1 !== o2 : TRUECompare an instance of a parent class with one from a subclasso1 == o2 : FALSEo1 != o2 : TRUE
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?