首頁 後端開發 PHP問題 什麼是引用傳參?引用傳參的用法?引用參數的賦值? (附代碼)

什麼是引用傳參?引用傳參的用法?引用參數的賦值? (附代碼)

Jun 04, 2021 am 11:13 AM

上篇文章為大家介紹了《什麼是靜態變數?其特點是?作用域在哪? (附實例)》,本文繼續介紹什麼是引用傳參給大家?引用傳參的用法?引用參數的賦值? (附程式碼),一起看看吧

什麼是引用傳參?引用傳參的用法?引用參數的賦值? (附代碼)

什麼是引用傳參:

  • 在設定函數形參時,如果在形參變數之前加上符號,就表示實參傳遞時要引用傳遞的方式(變數引用賦值)將實參值傳遞給形參;

  • 如果引用傳參,那麼函數內部的引用傳參值會改變,對應外部實參的變數的值也會改變,效果類似全域變量,但是不是全域變數。

具體我們以舉例和程式碼為例;

<?php
     /****** 引用传参*/
     //变量引用赋值
     $he = &#39;我喜欢你&#39;;
     $she = &$he;
     echo $he;
     echo &#39;<br/>&#39;;
     echo $she;
     
?>
登入後複製

程式碼解析:

先定義一個初始變數($he)賦值為,我喜歡你;緊接著另一個($she),也是想說我喜歡你;此時的she找到我喜歡你的地址,並且賦值給了(she),然後我們輸出(echo)$he;再來輸出( echo)$she;我們會發現兩個輸出結果都是:我喜歡你,程式碼如下所示:

什麼是引用傳參?引用傳參的用法?引用參數的賦值? (附代碼)

當我們嘗試改變she的值,此時$ she的值賦值為,我不喜歡你;當我們再次運行此值的時候,我們會發現,顯示結果都是:我不喜歡你;代碼如下所示:

什麼是引用傳參?引用傳參的用法?引用參數的賦值? (附代碼)

根據上述實例,我們可以知道變數的參考其實就是$he找到「我喜歡你」這個位址,賦給了$she,也就是說他們兩個($he和$she)同時通過一個位址找到了一個值,一旦此值發生了改變,那麼他們兩個的值會發生相同的改變;也就是說she是he的一個別名,透過上述,我們再一次了解了變數的引用;

而在引用傳參:

<?php
     /****** 引用传参*/
     //变量引用赋值
     $he = &#39;我喜欢你&#39;;
     $she = &$he;
     $she = &#39;我不喜欢你&#39;;
     echo $he;
     echo &#39;<br/>&#39;;
     echo $she;
     echo &#39;<hr>&#39; ;
     $num = 15;
     function demo($no){
       $no +=5;
     }
     demo($num);
     echo $num;
     
?>
登入後複製

程式碼解析:

首先,我們定義一個變數($num);緊接著我們定義一個函數(function demo);然後我們在demo中傳一個($no)變量,此時,當我要調用demo($num)時,我們輸出(echo)num,此時的num會賦值給no,然後進行接下來的運算,接著當我們在外部輸出(num)發現此時程式碼運行的結果仍然是15(運行結果如下圖);沒有任何變化;當我們在demo($no)前加一個取位址符(&),此時運算的結果會顯示20(運行結果如下);根據上述,正常情況下我們的實參變數demo($num)會賦值給形參($no);但是形參的賦值是引用的方式(&)賦值,綜上可知,他們兩個相當於$no=&$num;任意一個改變其值,都會影響最終的結果。

什麼是引用傳參?引用傳參的用法?引用參數的賦值? (附代碼)

什麼是引用傳參?引用傳參的用法?引用參數的賦值? (附代碼)

#推薦學習:《PHP影片教學

以上是什麼是引用傳參?引用傳參的用法?引用參數的賦值? (附代碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

PHP 8 JIT(即時)彙編:它如何提高性能。 PHP 8 JIT(即時)彙編:它如何提高性能。 Mar 25, 2025 am 10:37 AM

PHP 8的JIT編譯通過將代碼經常彙編為機器代碼,從而增強了性能,從而使應用程序有益於大量計算並減少執行時間。

OWASP前10 php:描述並減輕常見漏洞。 OWASP前10 php:描述並減輕常見漏洞。 Mar 26, 2025 pm 04:13 PM

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。

PHP加密:對稱與非對稱加密。 PHP加密:對稱與非對稱加密。 Mar 25, 2025 pm 03:12 PM

本文討論了PHP中的對稱和不對稱加密,並比較了它們的適用性,性能和安全差異。對稱加密速度更快,適合大量數據,而不對稱的鍵交換則使用。

PHP安全文件上傳:防止與文件相關的漏洞。 PHP安全文件上傳:防止與文件相關的漏洞。 Mar 26, 2025 pm 04:18 PM

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

PHP身份驗證&amp;授權:安全實施。 PHP身份驗證&amp;授權:安全實施。 Mar 25, 2025 pm 03:06 PM

本文討論了在PHP中實施強大的身份驗證和授權,以防止未經授權的訪問,詳細說明最佳實踐並推薦安全增強工具。

如何使用PHP從數據庫中檢索數據? 如何使用PHP從數據庫中檢索數據? Mar 20, 2025 pm 04:57 PM

文章討論了使用PHP從數據庫中檢索數據,涵蓋步驟,安全措施,優化技術和解決方案的常見錯誤。

PHP CSRF保護:如何防止CSRF攻擊。 PHP CSRF保護:如何防止CSRF攻擊。 Mar 25, 2025 pm 03:05 PM

本文討論了防止PHP中CSRF攻擊的策略,包括使用CSRF代幣,同一站點cookie和適當的會話管理。

mysqli_query()和mysqli_fetch_assoc()的目的是什麼? mysqli_query()和mysqli_fetch_assoc()的目的是什麼? Mar 20, 2025 pm 04:55 PM

本文討論了MySQLI_QUERY()和MySQLI_Fetch_Assoc()在PHP中的MySQL數據庫交互中的功能。它解釋了他們的角色,差異,並提供了它們使用的實際例子。主要論點側重於usin的好處

See all articles