返回一个关联数组,包含php中的函数参数列表

时间:2011-01-15 08:40:15

标签: php associative-array argument-passing

in php func_get_args - 返回一个包含函数参数列表

的数组

返回 数字索引数组

在php中是否存在任何函数/方式,我们通过它获取 关联数组 ,即key =>值对

我用例子解释:

test.php的

<?php

function foo() {
    include './fga.inc';
}
$x=20;
$y=30;

foo($x, $y);
?>

fga.inc

<?php

$args = func_get_args();
echo "<pre>";
print_r($args);
echo "</pre>";

?>

应返回

array (
  'x'=> 20,
  'y' => 30,
)

1 个答案:

答案 0 :(得分:3)

您不能在foo()函数中执行此操作,因为PHP不会将变量名称传递给您的函数,只传递它们的值。另外,PHP不支持函数and it doesn't seem like it'll do so anytime soon中的命名参数。

解决方法是将关联数组作为单个参数传递给函数。您可以使用compact()来整理要传递的调用范围中的变量,例如:

function foo($args) {
    echo "<pre>";
    print_r($args);
    echo "</pre>";
}

$x = 20;
$y = 30;

foo(compact('x', 'y'));

输出:

Array
(
    [x] => 20
    [y] => 30
)