我可以加载php函数来调用关联参数吗?像这样:
function foo($id,$name,$address){
}
并且这样打电话:
function foo(
$address : "45, Baker St. London",
$id : "34",
$name : "Albert"
);
答案 0 :(得分:3)
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"
答案 1 :(得分:1)
不,目前无法命名参数。 They are "planned" for whatever future version.
您可以使用关联数组。
答案 2 :(得分:0)
您可以使用default argument values。
function foo($id = "34", $name = "Albert", $address = "45, Baker St. London"){
}