我遇到了这个问题.我有一堆数组决定运行时哪一个我想用双'$'.
所以,如果$foo是'bar',我得到的阵列$bar与$$foo.
这工作正常,但我如何获得$ bar的第一个元素?$ bar [0]就是这样,但$$foo[0]根本不提供任何输出.
谁能帮我?
(我知道这是一个非常糟糕的风格,但代码已经由其他人完成,我必须在这里和那里扩展它.我不打算重写所有的代码结构;-)
在内心周围使用牙套$foo:
echo ${$foo}[0];
Run Code Online (Sandbox Code Playgroud)
当变量扩展中的子变量更复杂时,您可以这样做:
$array1 = array('a');
$array2 = array('b');
$array3 = array('c');
// writes 'abc'
for ($i = 1; $i <= 3; ++$i)
echo ${'array' . $i}[0];
Run Code Online (Sandbox Code Playgroud)