【发布时间】:2010-11-28 00:21:30
【问题描述】:
我想将函数的参数转换成一个关联数组,其中键等于参数变量名,值等于参数值。
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)
}
我该怎么做?
【问题讨论】:
-
您是否有理由不能只定义初始函数来接受一个数组作为第一个参数并提供一个数组?
-
meder:这将 1) 提供丑陋的 API,以及 2) 需要对调用源进行大量更改。其中许多函数已经存在并且正在被调用。
-
我真的不明白为什么它会是一个“丑陋”的 API - 对我来说它会更干净,类似于在 Python 中将字典作为参数提供并在 ECMAScript 中提供对象。
-
它使文档更清晰,并让 PHP 强制每个函数传递正确数量/类型的参数。
标签: php arrays parameters arguments associative