在 php 函數中,值類型變量(如整數、浮點數和字符串)作為參數進行傳遞時會創建副本。函數中的修改不會影響原始變量。值類型變量包括整數、浮點數、字符串、布爾值和數組。
PHP 函數參數傳遞:值類型變量
在 PHP 中,函數參數可以使用值類型變量傳遞。值類型變量存儲實際數據值,包括:
整數 (int):例如,10
浮點數 (float):例如,3.14
字符串 (string):例如,”Hello PHP”
布爾值 (boolean):例如,true 或 false
數組 (array):例如,[1, 2, 3]
當將值類型變量作為參數傳遞給函數時,函數將獲得該變量的 副本。對在函數中修改的副本值 不會 影響原始變量。
實戰案例:計算圓的面積
考慮一個函數 calculateArea(), 它計算給定半徑的圓的面積:
function calculateArea(float $radius) { return pi() * $radius ** 2; }
登錄后復制
在這種情況下,$radius 是一個值類型變量,我們將其作為參數傳遞給 calculateArea() 函數。函數的內部代碼使用 $radius 來計算圓的面積。
在以下代碼示例中,我們將 calculateArea() 函數與值類型變量一起使用:
$radius = 5; $area = calculateArea($radius); echo "圓的面積為: $area";
登錄后復制
輸出:
圓的面積為:78.53981633974483
登錄后復制
在這個例子中,原始變量 $radius 的值沒有被 calculateArea() 函數修改。