php中函數(shù)的形參與實參的問題說明
更新時間:2010年09月01日 10:13:50 作者:
在定義或者使用php函數(shù)時,應(yīng)該注意形參個數(shù)和實參個數(shù)的對應(yīng)關(guān)系。
當(dāng)實參個數(shù)<形參個數(shù) 時php會發(fā)出警告,因為php的解釋機制會認(rèn)為,有參數(shù)被定義了卻沒有被使用,那很可能會影響函數(shù)的功能。所以會發(fā)出警告。然而,當(dāng) 實參個數(shù)>形參個數(shù) 時,php是不會報錯的,它只會取前面的幾個參數(shù),多余的則將會丟棄。
在PHP中編寫函數(shù),一般情況下調(diào)用函數(shù)的時候,改變的值都是形參而不是實參.但是如果在形參中加入地址符時候就會改變實參的值,為什么?
請看下面的例子:
<?php
//編寫一個函數(shù)swap(),測試該函數(shù)的實參值無改變
function swap($a,$b) {
echo "<p>進入swqp()函數(shù)前<br>\n";
echo "交換前:形參a=$a,形參b=$b<br>\n";
$c=$b;
$a=$b;
$b=$c;
echo "交換后:形參a=$a,形參b=$b<br>\n";
echo "退出swap()函數(shù)<br></p>\n";
}
$variablea=5;
$variableb=10;
echo "調(diào)用swap()函數(shù)前: ";
echo "實參a=$variablea,實參b=$variableb<br>\n";
swap($variablea,$variableb);
echo "調(diào)用swap()函數(shù)后: ";
echo "實參a=$variablea,實參b=$variableb<br>\n";
?>
<?php
//測試swap()函數(shù)實參的值改變
function swap1(&$a,&$b) {
echo "<p>進入swap1()函數(shù)<br>\n";
echo "交換前: 形參a=$a,形參b=$b<br>\n";
$c=$b;
$a=$b;
$b=$c;
echo "交換后: 形參a=$a,形參b=$b<br>\n";
echo "退出swap()函數(shù)<br></p>\n";
}
$variablea=5;
$variableb=10;
echo "調(diào)用swap1()函數(shù)前: ";
echo "實參a=$variablea,實參b=$variableb<br>\n";
swap1($variablea,$variableb);
echo "調(diào)用swap1()函數(shù)后: ";
echo "實參a=$variablea,實參b=$variableb<br>\n";
?>
//上面的兩個例子就是說明,求教了~~~
在PHP中編寫函數(shù),一般情況下調(diào)用函數(shù)的時候,改變的值都是形參而不是實參.但是如果在形參中加入地址符時候就會改變實參的值,為什么?
請看下面的例子:
復(fù)制代碼 代碼如下:
<?php
//編寫一個函數(shù)swap(),測試該函數(shù)的實參值無改變
function swap($a,$b) {
echo "<p>進入swqp()函數(shù)前<br>\n";
echo "交換前:形參a=$a,形參b=$b<br>\n";
$c=$b;
$a=$b;
$b=$c;
echo "交換后:形參a=$a,形參b=$b<br>\n";
echo "退出swap()函數(shù)<br></p>\n";
}
$variablea=5;
$variableb=10;
echo "調(diào)用swap()函數(shù)前: ";
echo "實參a=$variablea,實參b=$variableb<br>\n";
swap($variablea,$variableb);
echo "調(diào)用swap()函數(shù)后: ";
echo "實參a=$variablea,實參b=$variableb<br>\n";
?>
復(fù)制代碼 代碼如下:
<?php
//測試swap()函數(shù)實參的值改變
function swap1(&$a,&$b) {
echo "<p>進入swap1()函數(shù)<br>\n";
echo "交換前: 形參a=$a,形參b=$b<br>\n";
$c=$b;
$a=$b;
$b=$c;
echo "交換后: 形參a=$a,形參b=$b<br>\n";
echo "退出swap()函數(shù)<br></p>\n";
}
$variablea=5;
$variableb=10;
echo "調(diào)用swap1()函數(shù)前: ";
echo "實參a=$variablea,實參b=$variableb<br>\n";
swap1($variablea,$variableb);
echo "調(diào)用swap1()函數(shù)后: ";
echo "實參a=$variablea,實參b=$variableb<br>\n";
?>
//上面的兩個例子就是說明,求教了~~~
相關(guān)文章
php實現(xiàn)網(wǎng)頁上一頁下一頁翻頁過程詳解
這篇文章主要介紹了php實現(xiàn)網(wǎng)頁上一頁下一頁翻頁過程詳解,大致功能就是頁面只顯示幾條信息,按上一頁、下一頁切換內(nèi)容,當(dāng)顯示第一頁時上一頁和首頁選項不可選,當(dāng)頁面加載到最后一頁時下一頁和尾頁選項不可選,需要的朋友可以參考下2019-06-06
PHP如何刪除關(guān)聯(lián)數(shù)組中鍵值
在本篇文章里小編給大家整理的是一篇關(guān)于PHP刪除關(guān)聯(lián)數(shù)組中鍵值的方法,有需要的朋友們可以學(xué)習(xí)參考下。2021-08-08
在PHP中利用wsdl創(chuàng)建標(biāo)準(zhǔn)webservice的實現(xiàn)代碼
網(wǎng)上有現(xiàn)成的nusoap,我沒使用,如果使用了,我可能就不知道PHP是怎么創(chuàng)建webservice的了2011-12-12
PHP中date()日期函數(shù)有關(guān)參數(shù)整理
PHP中date()日期函數(shù)有關(guān)參數(shù)整理,需要的朋友可以參考下。2011-07-07
php中模擬POST傳遞數(shù)據(jù)的兩種方法分享
php中模擬POST傳遞數(shù)據(jù)的兩種方法分享,有時候需要模擬提交數(shù)據(jù)方便采集,需要的朋友可以參考下。2011-09-09

