加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何将PHP函数的参数列表转换为关联数组?

发布时间:2020-12-13 22:35:33 所属栏目:PHP教程 来源:网络整理
导读:我想将函数的参数转换为关联数组,其中键等于参数变量名,值等于参数值. PHP: function my_function($a,$b,$c) { // --- magic goes here to create the $params array var_dump($params['a'] === $a); // Should result in bool(true) var_dump($params['b']
我想将函数的参数转换为关联数组,其中键等于参数变量名,值等于参数值.

PHP:

function my_function($a,$b,$c) {

    // <--- magic goes here to create the $params array

    var_dump($params['a'] === $a); // Should result in bool(true)
    var_dump($params['b'] === $b); // Should result in bool(true)
    var_dump($params['c'] === $c); // Should result in bool(true)
}

我怎样才能做到这一点?

您可以使用 compact执行此操作:
function myFunc($a,$c) {
    $params = compact('a','b','c');
    // ...
}

或者,get_defined_vars()将为您提供该范围中定义的所有变量的关联数组,这将起作用,但我认为这可能还包括$_POST,$_GET等…

否则,您可以使用func_get_args获取传递给函数的所有参数的列表.这不是关联的,因为它只传递数据(也就是说,没有变量名).这也允许您在函数中包含任意数量的参数.

或者,只需指定一个参数,即一个数组:

function myFunc($params) {

}

紧凑()似乎最接近你所追求的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读