php 中的參數傳遞有值傳遞和引用傳遞兩種方式,返回值類型可以指定返回的數據類型。值傳遞:函數處理的是參數值的副本,對參數修改不影響調用函數的變量。引用傳遞:函數直接處理調用函數中變量的地址,對參數修改會影響調用函數的變量。支持的返回值類型包括 int、float、string、array、object、callable、void。
PHP 函數的參數傳遞和返回值類型
參數傳遞
PHP 函數可以使用值傳遞或引用傳遞來接收參數。
值傳遞:函數以參數值的副本工作。對參數所做的任何更改都不會影響調用函數的變量。
引用傳遞:函數直接處理調用函數中變量的內存地址。對參數所做的任何更改都會影響調用函數中的變量。
使用方法:
在函數定義中,在參數名稱前面使用 &
符號來啟用引用傳遞。
例如:
function addByReference(&$num) { $num++; }
登錄后復制
返回值類型
PHP 函數也可以指定返回值類型。這意味著當你從函數返回一個值時,PHP 會檢查值的類型并強制轉換它,以匹配指定的類型。
語法:
function function_name(param_type $param_name): return_type { // 函數代碼 }
登錄后復制
支持的類型:
PHP 支持以下返回類型:
int
:整數float
:浮點數string
:字符串array
:數組object
:對象callable
:可調用(函數)void
:無返回類型
例如:
function getSum(int $a, int $b): int { return $a + $b; }
登錄后復制
實戰案例
值傳遞示例:
<?php $num = 10; function add($num) { $num++; } add($num); echo $num; // 輸出:10,因為參數是按值傳遞的 ?>
登錄后復制
引用傳遞示例:
登錄后復制
返回值類型示例:
<?php function getGreeting(string $name): string { return "Hello, $name!"; } $greeting = getGreeting("John"); echo $greeting; // 輸出:Hello, John! ?>
登錄后復制