带数组的双美元变量



我试图使用双美元语法访问数组的第一项,但它不像我想要的那样工作。

<?php
$a = 'test';
$test = ['a', 'b'];
echo $$a[0];

这将表明变量t是未定义的,因为它首先呈现$a[0](这是一个"t"),然后尝试访问变量$t作为结果。

我想要的是沿着这些线的东西(下面的代码片段都不起作用,它们只是我尝试的东西,为了说明这个想法)

<?php
$a = 'test';
$test = ['a', 'b'];
echo {$$a}[0];

<?php
$a = 'test';
$test = ['a', 'b'];
echo ${$$a}[0];

基本上,告诉PHP $$a部分具有优先级。

你很接近了。你需要告诉PHP单独计算$a。试一试:

<?php
$a = 'test';
$test = ['a', 'b'];
echo ${$a}[0];
示例

最新更新