PHP4跟PHP5中的引用&
PHP4和PHP5中的引用&
文章转载自重庆PHP,原文地址:http://www.php-chongqing.com/index.php/article/104
PHP提供了引用操作符(&),在PHP中引用的意思是用不同的名字访问同一个变量内容,PHP4和PHP5中的对象引用是有区别的。
$a = 8; $b = $a; echo '$a:' . $a; // 8 echo '$b:' . $b; // 8 $a = 12; echo '$a:' . $a; // 12 echo '$b:' . $b; // 8
首先创建变量$a,把整数8赋值给$a,然后把$a赋给$b,这时候PHP创建一个$a的副本,再把这个副本赋给$b,通俗点说就是内存中产生了两个变量,变量的值都是8,这两个变量一个指向$a,一个指向$b,所以打印结果$a和$b都是12,接着我们将12赋给$a,然后再打印$a和$b,可以看到$a的值变成12了,而$b的值还是8,这个很容易理解,因为$a和$b是两个完全不相干的变量。
$a = 8; $b &= $a; echo '$a:' . $a; // 8 echo '$b:' . $b; // 8 $a = 12; echo '$a:' . $a; // 12 echo '$b:' . $b; // 12
首先创建变量$a,把整数8赋值给$a,然后把$a赋给$b,注意是使用的&引用赋值,打印$a和$b,两个变量的均为8;接着我们把12赋给$a,再打印$a和$b,可以看到$b的值也变成12了。PHP的引用操作符(&),可以不让程序产生一个副本,$a和$b指向同一块内存区域,即$a和$b是同一个变量,所以当$a的值发生变化时,$b的值也会跟着发生变化。这就好比‘张三’,上学的时候同学们给取个绰号‘三娃’,无论是‘张三’还是‘三娃’所指的都是那一百多斤,都是指的同一个人。
在PHP4中,当你创建对象并将其赋值给其它变量时,PHP4总是会产生一个该对象的副本,将整个对象及所有内容复制过去。PHP4的这种对象处理方式非常的糟糕,复制对象会让程序占用更多的内存,复制对象往往还会引起一些莫名其妙的错误。这种糟糕的对象处理方式在PHP5中得到了改善,在PHP5中对象总是以引用的方式传递。
$user = new User(); $user->name = 'zhangsan'; $bing = $user; $bing->name = 'bing.peng'; echo $user->name; // For PHP4: zhangsan For PHP5: bing.peng
在PHP4下运行上面的代码,打印出来的是:‘zhangsan’;在PHP5下打印结果为:‘bing.peng’,可以看到PHP5默认就是使用引用赋值,注意PHP5只是对象类型默认使用引用赋值,基本类型还是会产生副本,那么要在PHP5中复制对象,需要使用clone关键字来完成,如果想要在PHP4中得到同样的效果,我们就需要使用引用操作符,代码如下:
$user = new User(); $user->name = 'zhangsan'; $bing &= $user; $bing->name = 'bing.peng'; echo $user->name;

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

必應(Bing)是微軟公司推出的網路搜尋引擎,搜尋功能非常強大,分了國內版和國際版兩個入口。這兩個版本入口在哪呢?怎麼訪問國際版呢?下面就來看看詳細內容。 必應中國版網址入口:https://cn.bing.com/ 必應國際版網址入口:https://global.bing.com/ 必應國際版怎麼存取? 1、先輸入開啟必應的網址入口:https://www.bing.com/ 2、可以看到有國內版跟國際版的選項,我們只需要選擇國際版,輸入關鍵字即可。

php5和php8的差異在效能、語言結構、型別系統、錯誤處理、非同步程式設計、標準函式庫函數和安全性等方面。詳細介紹:1、效能提升,PHP8相對於PHP5來說在效能方面有了巨大的提升,PHP8引入了JIT編譯器,可以對一些高頻執行的程式碼進行編譯和最佳化,從而提高運行速度;2、語言結構改進,PHP8引入了一些新的語言結構和功能,PHP8支援命名參數,允許開發者透過參數名稱而不是參數順序等等。

本文將介紹七種利用免費的BingImageCreator獲得高品質輸出的方法。 BingImageCreator(現稱為MicrosoftDesigner的ImageCreator)是一個出色的線上人工智慧藝術生成器之一。它能根據使用者的提示產生高度逼真的視覺效果。提示越具體、清晰和創意,生成的效果也會更出色。 BingImageCreator在創建高品質影像方面取得了重大進展。現在它使用Dall-E3訓練模式,顯示出更高水準的細節和現實主義。然而,它能否始終如一地產生高清結果取決於幾個因素,包括快速

在現今科技快速發展的時代,程式語言也如雨後春筍般湧現。其中一門備受矚目的語言就是Go語言,它以其簡潔、高效、並發安全等特性受到了許多開發者的喜愛。 Go語言以其強大的生態系統而著稱,其中有許多優秀的開源專案。本文將介紹五個精選的Go語言開源項目,帶領讀者一起探索Go語言開源專案的世界。 KubernetesKubernetes是一個開源的容器編排引擎,用於自

2023 年將被稱為 AI 聊天機器人年。首先,ChatGPT 的成功公開發布,以及現在將 GPT-4 整合到新的 Bing 中,讓每個人都想趕上潮流,直接從他們的瀏覽器訪問最新的 AI 聊天機器人。 但是如何與 Bing AI 聊天,你能單獨用你的聲音與它交談嗎?這裡有您需要知道的一切以及更多資訊。 取得新的 Bing目前,微軟只向少數特定用戶推出新的 Bing。但是,一旦測

php5改80埠的方法:1.編輯Apache伺服器的設定檔中的連接埠號碼;2、輯PHP的設定檔以確保PHP在新連接埠上運作;3、重新啟動Apache伺服器,PHP應用程式將開始在新的連接埠上運行。

《Go語言開發必備:5個熱門框架推薦》Go語言作為一門快速、高效的程式語言,受到越來越多開發者的青睞。為了提高開發效率,優化程式碼結構,許多開發者選擇使用框架來快速建立應用。在Go語言的世界中,有許多優秀的框架可供選擇。本文將介紹5個熱門的Go語言框架,並提供具體的程式碼範例,幫助讀者更好地理解和使用這些框架。 1.GinGin是一個輕量級的Web框架,擁有快速

PHP中echo關鍵字的作用和使用方法詳解PHP是一種廣泛使用的伺服器端腳本語言,它在網頁開發中被廣泛應用。而echo關鍵字是在PHP中用來輸出內容的一種方法。本文將詳細介紹echo關鍵字的作用與使用方法。作用:echo關鍵字的主要作用是將內容輸出到瀏覽器。在網頁開發中,我們需要將資料動態地呈現到前端頁面上,這時就可以使用echo關鍵字將資料輸出到頁面上。 e
