我可以加载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