5.4.2 PHP引用參數(shù)的函數(shù)

引用參數(shù)的函數(shù)

引用參數(shù)的函數(shù)格式說明:
void funName(array &args)
相對(duì)于按值傳遞模式,并不會(huì)將父程序中的指定數(shù)值或目標(biāo)變量傳遞給函數(shù),而是把該數(shù)值或變量的內(nèi)存儲(chǔ)存區(qū)塊相對(duì)地址導(dǎo)入函數(shù)之中。因此當(dāng)該數(shù)值在函數(shù)中有任何變動(dòng)時(shí),會(huì)連帶對(duì)父程序造成影響。
注意:如果在函數(shù)的形參中使用“&“修飾的參數(shù),在調(diào)用該函數(shù)時(shí)必須傳入一個(gè)變量給這個(gè)參數(shù),而是不能傳遞一個(gè)值。

<?php
   //使用常規(guī)參數(shù)傳值
    function test($arg) {         
        $arg = 200;  //在函數(shù)中改變參數(shù)$a的值為200
    }
    $var = 100;      //在父程序中聲明一個(gè)全局變量$var,初值為100
    test($var);        //調(diào)用test函數(shù),并將變量$var的值100傳給函數(shù)的參數(shù)$arg
    echo $var;       //輸出100。$var的值沒有變化

   //使用“&”引用參數(shù)傳值
   function test( &$arg ) {        
        $arg = 200;   //改變參數(shù)$a的值為200,$arg是引用參數(shù),外部變量$var也被修改
    }
    $var = 100;       //在父程序中聲明一個(gè)全局變量$var,初值為100
    test($var);         //調(diào)用test函數(shù),并將變量$var的引用傳給函數(shù)的參數(shù)$arg
    echo $var;        //輸出200。$var的值在函數(shù)中修改變量$arg時(shí)被修改

例test.php

<?php
/*
 *   $a = 10;
 *
 *   $b = &$a;
 *
 *   $a = 400;
 *   $b = 800;
 *
 *   1. 只有在內(nèi)存中的變量, 才有地址
 *   2. 有引用關(guān)系的兩個(gè)變量, 一個(gè)變, 另一個(gè)就變, 相當(dāng)于兩個(gè)是一個(gè)
 *
 *
 *   如果在函數(shù)說明中, 有&出現(xiàn), 說明這個(gè)參數(shù)是一個(gè)引用參數(shù), 你調(diào)用時(shí)傳參數(shù)時(shí), 就必須傳一個(gè)變量
 *
 */
    $a= 20;
    function demo(&$a) {
        $a = 100;
    }
    echo $a."<br>";
    demo($a);
    echo $a."<br>";
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,711評(píng)論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,854評(píng)論 18 399
  • //Clojure入門教程: Clojure – Functional Programming for the J...
    葡萄喃喃囈語閱讀 4,081評(píng)論 0 7
  • 做過教育的人都知道,分類能力是幼兒認(rèn)知發(fā)展的重要里程碑,在一定程度上決定了孩子的智力水平。隨著年齡增長(zhǎng),人的智力可...
    加西閱讀 849評(píng)論 1 8
  • 受可可解讀報(bào)告的熱情激發(fā)了關(guān)于DISC的一些思考,請(qǐng)求解答 1、我們通常說的特質(zhì),行為偏好是指外在那張表測(cè)出來的結(jié)...
    劉小權(quán)PCC認(rèn)證教練閱讀 1,667評(píng)論 0 1

友情鏈接更多精彩內(nèi)容