上一篇文章中我們了解了什么是參數,如何去創建一個函數學習了形式參數和實際參數,有需要的請看《php函數之形式參數與實際參數是什么意思?》。這次我們深入了解一下參數,介紹向函數傳遞參數中的按值傳遞。
向函數傳遞參數的方式有四種,分別是值傳遞、引用傳遞、默認參數和可變長度參數。今天我們就來介紹一下如何進行按值傳參。
我們首先來看一個小例子。
<?php function swap($a, $b){ echo '函數內,交換前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函數內,交換后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函數外,交換前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函數外,交換后 $x = '.$x.', $y = '.$y; ?>
輸出結果是
函數外,交換前 $x = 5, $y = 7 函數內,交換前 $a = 5, $b = 7 函數內,交換后 $a = 7, $b = 5 函數外,交換后 $x = 5, $y = 7
在這例子中,我們可以看到在函數內部,值確實是交換的,而在函數外部,值不會改變。
通過這個小例子。我們也大致了解了按值傳遞參數,下面我就來詳細介紹一下。
按值傳遞是PHP中函數的默認值傳遞方法,也稱為“復制值傳遞
”。顧名思義,值轉移方法將復制參數的值,然后將其轉移到函數的形式參數。因此,在函數中操作參數的值不會影響函數外的參數。因此,如果不希望函數修改參數的值,可以按值傳遞。
就像上面那個例子一樣,在函數內部,值確實是交換的,而在函數外部,值不會改變。因此可以說,函數的值傳遞只是傳遞變量的副本。那么要是想讓函數能夠操作函數外實參的話,就需要使用引用傳遞的方式了。
你想要的php知識在這里 → →php視頻教程