不知道如何在不讨论 C 中的预处理器的情况下问这个问题,但我会尝试:
PHP中有没有办法将变量的名称用作字符串或值。
这样,而不是像这样调用函数,
$somevar = 'whatever';
fun('somevar', $somevar);
你可以这样称呼它:
fun(<magic:$somevar>, $somevar);
甚至,我敢说,像这样:
fun($somevar);
fun() 本身会推导出变量的值('whatever')和名称('somevar')。(在 C 中,可以使用预处理器#define 来完成。)
上面的“魔术”当然是我正在寻找的 PHP 中魔术语法的占位符,它将帮助我做到这一点。我想它可以用eval()以某种方式制作?但是人们一直告诉我不要使用 eval。
有人暗示内省可能会以某种方式解决问题。欢迎任何线索。