带数组的双美元变量

Dig*_*nja 3 php syntax

我试图使用双美元语法访问数组的第一项,但它不能像我希望的那样工作.

<?php

$a = 'test';
$test = ['a', 'b'];
echo $$a[0];
Run Code Online (Sandbox Code Playgroud)

这将说明变量t是未定义的,因为它首先渲染$ a [0](这是一个"t"),然后尝试访问名为$ t的变量.

我想要的是这些内容(下面的代码片段都不起作用,它们只是我试过的东西,用来说明这个想法)

<?php

$a = 'test';
$test = ['a', 'b'];
echo {$$a}[0];
Run Code Online (Sandbox Code Playgroud)

要么

<?php

$a = 'test';
$test = ['a', 'b'];
echo ${$$a}[0];
Run Code Online (Sandbox Code Playgroud)

基本上,告诉PHP,$$部分获得优先权.

Sco*_*pey 7

你非常接近.您需要告诉PHP $a单独评估.尝试:

<?php

$a = 'test';
$test = ['a', 'b'];
echo ${$a}[0];
Run Code Online (Sandbox Code Playgroud)