-2

PHPは変数変数を使用します。それで

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

これにより、output:oopsが得られます。私の質問は、$$$ aが定義されているように、変数変数をより多くのレベルで使用できるかどうかです。意思

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

私たちに出力を与えますか?はいの場合、変数変数はどのレベルまで可能ですか?いいえの場合はなぜですか????

4

3 に答える 3

4

はい、これは問題ありません。AFAIKでは、無限にネストできます。

ただし、これらは使用しないでください。変数変数はもちろん、変数変数変数変数変数変数変数変数変数変数変数変数変数変数変数変数変数変数が良いアイデアであるということは非常にまれです。

于 2012-09-26T18:47:24.443 に答える
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++;
}

軽くテストされただけです。

于 2012-09-26T18:58:21.340 に答える
0

変数をスタックの高さにスコープできます。半無限です。メモリスペースがなくなるまで、変数内で変数を宣言できます。その後、クレイジーなクレイジーなことが起こり始め、プログラムがクラッシュする可能性があります(本当に可能性が高いです)。いずれにせよ、このタイプのスコープはお勧めしません。

于 2012-09-26T18:53:11.380 に答える