PHP变量变量是否可能。 $$$一

时间:2012-09-26 18:44:17

标签: php variables

Php使用变量变量。 所以

$a="hello";
$$a="oops";
echo($hello) 

这给了我们输出:oops 我的问题是可变变量可用于更多级别 喜欢是一个定义的? 将

$a="hello";
$$a="oops";
$$$a="she";
echo($oops);

给我们输出?如果是,变量变量可能达到什么级别? 如果没有为什么不????

3 个答案:

答案 0 :(得分:4)

是的,这很好,AFAIK可以无限嵌套。

请不要使用这些,变量变量是个好主意,更不用说变量变量变量变量变量变量变量变量变量变量变量变量变量变量变量变量变量。

答案 1 :(得分:1)

似乎限制非常高。

<?php

$depth = 1;
while (true) {
    echo "// At depth {$depth}\n";

    $prefix    = str_pad('', $depth, '$');
    $statement = "{$prefix}varvar = 'var{$depth}';\n";

    echo $statement;

    eval($statement);
    $depth++;
}

只是经过轻微测试。

答案 2 :(得分:0)

您可以将变量范围限定为堆栈的高度。它是半无限的。您可以在变量内部声明变量,直到内存空间不足为止。然后疯狂的疯狂事情将开始发生,你的程序可能会崩溃(真的很可能)。无论哪种方式,都不建议使用这种类型的范围。