日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php面向对象引用文件,PHP面向对象之对象和引用

發布時間:2023/12/19 php 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php面向对象引用文件,PHP面向对象之对象和引用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在PHP中對象類型和簡單變量類型表現可以說是大相徑庭,很多數據類型都要可以在寫時進行復制,如當寫代碼$a=$b時,兩個變量因為賦予相同的值而告終。所以需要注意的是,這種情況用在對象時就會完全不同了。

我們來看看下面的代碼,你期望輸出什么值呢?

01<?php

02class?Person{

03

04public?$name="張三";

05public??function?say(){

06echo?"我叫".$this->name?."
"?;

07}

08}

09$Person=new?Person();

10$Person->name="李四";

11$Person1=$Person;

12$Person1->?name="王五"?;

13$Person->say();

14$Person1->say();

上面的程序出輸:

我叫王五

我叫王五

我們來看一下為什么會得出這樣的結果。當將$Person賦值給$Person1時,并沒有復制$Person的內容。相反,PHP使用了另一種方式將$Person1指向同一個對象。這種方式就是PHP的對象引用。PHP 的對象的引用接近指針,它儲存著該對象的一個“標識符”(類似地址),傳遞對象時是在拷貝這個標識符,而不是內容。

要想知道對象$Person和$Person1是否擁有相同的類和屬性,可以通過使用“==”操作符來比較這兩個對象。代碼如下(承接上面的代碼):

1if($Person?==$Person1){

2echo?"Person和Person1具有相同的類和屬性"?;

3}else{

4return?false;

5}

程序輸出:Person和Person1具有相同的類和屬性

要想知道對象$Person和$Person1是否擁有相同的類和屬性,并且存儲在相同的位置,可以通過使用“===”操作符來比較這兩個對象。代碼如下:

1if?($Person?===$Person1){

2echo?"Person和Person1具有相同的類和屬性且存儲在相同的位置"?;

3}else{

4return?false?;

5}

程序輸出:Person和Person1具有相同的類和屬性且存儲在相同的位置

最后,如果我們希望把對象$Person的內容復制給$Person1,可以使用克隆,如$Person1=clone $Person

原文:http://www.cnblogs.com/zhouguowei/p/5179069.html

總結

以上是生活随笔為你收集整理的php面向对象引用文件,PHP面向对象之对象和引用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。