我想将函数的参数转换为关联数组,其中键等于参数变量名,值等于参数值.
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) { }
紧凑()似乎最接近你所追求的.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。