程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php中函數的形參與實參的問題說明

php中函數的形參與實參的問題說明

編輯:PHP綜合
當實參個數<形參個數 時php會發出警告,因為php的解釋機制會認為,有參數被定義了卻沒有被使用,那很可能會影響函數的功能。所以會發出警告。然而,當 實參個數>形參個數 時,php是不會報錯的,它只會取前面的幾個參數,多余的則將會丟棄。

在PHP中編寫函數,一般情況下調用函數的時候,改變的值都是形參而不是實參.但是如果在形參中加入地址符時候就會改變實參的值,為什麼?

請看下面的例子:
復制代碼 代碼如下:
<?php
//編寫一個函數swap(),測試該函數的實參值無改變
function swap($a,$b) {
echo "<p>進入swqp()函數前<br>\n";
echo "交換前:形參a=$a,形參b=$b<br>\n";
$c=$b;
$a=$b;
$b=$c;
echo "交換後:形參a=$a,形參b=$b<br>\n";
echo "退出swap()函數<br></p>\n";
}
$variablea=5;
$variableb=10;
echo "調用swap()函數前: ";
echo "實參a=$variablea,實參b=$variableb<br>\n";
swap($variablea,$variableb);
echo "調用swap()函數後: ";
echo "實參a=$variablea,實參b=$variableb<br>\n";
?>

復制代碼 代碼如下:
<?php
//測試swap()函數實參的值改變
function swap1(&$a,&$b) {
echo "<p>進入swap1()函數<br>\n";
echo "交換前: 形參a=$a,形參b=$b<br>\n";
$c=$b;
$a=$b;
$b=$c;
echo "交換後: 形參a=$a,形參b=$b<br>\n";
echo "退出swap()函數<br></p>\n";
}

$variablea=5;
$variableb=10;
echo "調用swap1()函數前: ";
echo "實參a=$variablea,實參b=$variableb<br>\n";
swap1($variablea,$variableb);
echo "調用swap1()函數後: ";
echo "實參a=$variablea,實參b=$variableb<br>\n";
?>

//上面的兩個例子就是說明,求教了~~~
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved