如何从php中的函数中获取静态变量的值



我需要从函数中获取静态变量的值,例如:

a、 b、c、d、e、f、g是函数测试((中的静态变量

test((.a或test("a"(,应该返回静态var的值a

test((.b或test("b"(,应返回静态var b 的值

等等!

我想不出你为什么需要这个,但现在开始:

<?php
function fnc($var){
static $a = 1;
static $b = 2;
return $$var;
}
echo fnc("a").",".fnc("b")."n";  // 1,2

关于$$var,请参见可变变量

演示位置https://3v4l.org/2CqSu

Dot(.(是一个字符串串联,我不知道如何在PHP中覆盖它。您可以使用->代替:

function weird($var = null)
{
static $a = 'a', $b = 'b', $c = 'c', $d = 'd', $e = 'e';

if (func_num_args())
{
return $$var;
}

return (object) get_defined_vars();
}
$result = weird('a') . weird()->b . weird('c');

最新更新