我可以加載php函數來調用關聯參數嗎?事情是這樣的:聯繫人蔘數PHP調用
function foo($id,$name,$address){
}
,並呼籲像這樣:
function foo(
$address : "45, Baker St. London",
$id : "34",
$name : "Albert"
);
我可以加載php函數來調用關聯參數嗎?事情是這樣的:聯繫人蔘數PHP調用
function foo($id,$name,$address){
}
,並呼籲像這樣:
function foo(
$address : "45, Baker St. London",
$id : "34",
$name : "Albert"
);
PHP使用默認值來實現你最有可能正在尋找:
function foo ($address="123 Fake Street",$name="John Doe",$id=12345)
{
return $address.', '.$name.', '.$id;
}
那麼你可以做
foo("1 east 1st");// "1 east 1st, John Doe, 12345
更直接地回答你的問題,一個辦法是與關聯陣列。
function foo2 ($args) {
extract($args);
return $address.', '.$name.', '.$id;
}
$args=array(
'address'=>'123 Fake Street',
'name'=>'John Doe',
'id'=>12345
)
foo2($args);// "123 Fake Street, John Doe, 12345"
一個更強大的版本,這將分配默認缺失值,可能是這樣的:
function foo3 ($args) {
extract($args);
$address=isset($address) ? $address : "123 Fake Street";
$name=isset($name) ? $name : "John Doe";
$id=isset($id) ? $id : 12345;
return $address.', '.$name.', '.$id;
}
foo3(array('name'=>'Jim Dandy')); //"123 Fake Street, Jim Dandy, 12345"
您可以使用default argument values。
function foo($id = "34", $name = "Albert", $address = "45, Baker St. London"){
}
如果我已經知道他們的寫作功能,爲什麼我需要讓他們參數? – user3581203 2015-02-08 20:39:20
不,命名參數目前是不可能的。可以使用關聯數組。
*您可以使用關聯數組。*您可以給OP一個例子嗎? – Rizier123 2015-02-08 20:39:52
@GhostGambler關聯數組作爲參數的性能的評論? – user3581203 2015-02-08 20:40:06
@ user3581203由於PHP基本上不是針對優化性能,而是在優化代碼編寫速度方面,我會說可以忽略性能維度。 – GhostGambler 2015-02-08 20:41:43
與往常一樣,RTM:http://php.net/manual/en/functions。 arguments.php – 2015-02-08 20:37:19