php如何設定函式的某引數可有可無

時間 2021-09-13 02:32:05

1樓:潮洲蜘蛛

給引數設定預設值,但只能是最後面的引數可省略,如果帶預設值的引數放在中間的話,那麼就得在中間多留個逗號分開,下面給幾個例子:

function getdata($a,$b,$c=0)

上面這段在呼叫的時候可以只給兩個引數,第三個引數預設值為0

呼叫方法:getdata(1,1)

function getdata($a,$b=1,$c)

這段在呼叫的時候就要在中間多留個逗號了,如:getdata(1,,0)

function getdata($a,$b=0,$c=1)

這段的呼叫可以這樣:getdata(1)

2樓:匿名使用者

在定義函式的時候給引數設定一個莫認真,從右到左的順序~function myfun($a,$b,$c)//三個必須引數function myfun($a,$b,$c='')//兩個必須引數

function myfun($a,$b='',$c)//兩個必須引數,但是這種情況經常會導致疏忽,直接呼叫myfun(1,2);這個是錯誤的呼叫,2是賦值給$b引數的,而必須的c引數卻沒有值,所以才推薦可選引數放在引數的右邊~

3樓:匿名使用者

預設引數

function getdata($a,$b,$c=false);

php函式中,多個引數的情況下怎麼使其中一個引數為預設值而其他的使用指定值

4樓:匿名使用者

php不支援這種呼叫方式,你的需求是不能實現的。

如果你不能改動函式,那麼你可以做一個封裝。php的語法比較靈活,有幾種替代方式你可以借鑑。這些例子都有廣泛的應用。

示例一:如果引數值為null,則在函式裡強制賦值為預設值<?php

function foo2($a=1,$b=2,$c=3)foo(1, null, 3);

示例二:使用陣列引數

<?php

function foo3($array=array())foo(array('a'=>1, 'c'=>3));

python是支援你所說的那種呼叫方式的:

def foo(a=1, b=2, c=3):

pass

foo(a=1, c=3)

5樓:極天異雲

跨過中間的預設引數?

地球上目前麼有任何程式語言能支援這種奇怪的呼叫方式。

也許可以利用反射做到這一點?

我不確定。

6樓:匿名使用者

<?php

function foo()

$arg_list = func_get_args();

for ($i = 0; $i < $numargs; $i++)}foo(1, 2, 3);

?>

7樓:熊貓愛逛街

不能做一個外套函式嗎?

foo2($a=4,$c=5)

foo2($a=4,$c=5)

如何限定函式的某個傳入引數只能是0或者1兩個值

8樓:匿名使用者

這個很簡單。如bai果考慮的是du傳入的引數的話zhi,可以使dao用巨集定義

或者可以版使用常量

const int value1=1;

const int value0=0;

或者可權以在函式內部進行判斷,把非零值轉換成1,否則是0;

c中函式引數指什麼?如何給函式的引數賦值

華師 c main函式的四種情況 static void main static int main static void main string args static int main string args 1.主程式main函式一共有以上四種版 2.一個程式中不能有兩個以上的main函式,有...

php自定義函式中的引數是怎麼賦予值的?

class user 引數可以指定物件型別。function f1 user user 引數可以指定陣列型別。function f2 array arr 引數不可以指定基本型別,下面一句會出錯function f3 string s php裡不能直接在引數上指定型別。必要時可以強制轉換 如。func...

php函式中,多個引數的情況下怎麼使其中引數為預設值而其他的使用指定值

php不支援這種呼叫方式,你的需求是不能實現的。如果你不能改動函式,那麼你可以做一個封裝。php的語法比較靈活,有幾種替代方式你可以借鑑。這些例子都有廣泛的應用。示例一 如果引數值為null,則在函式裡強制賦值為預設值 function foo2 a 1,b 2,c 3 foo 1,null,3 示...