2012-09-26 93 views
-2

Php使用變量變量。 所以

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

這給我們的輸出:哎呀 我的問題是可以可變變量用於多個級別 喜歡的是$$$定義的? 將

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

給我們輸出?如果是,變量變量可能在什麼水平上? 如果沒有,爲什麼不?

+14

如果只有自己測試的方法... –

+0

您的初步測試顯示了什麼? – Lix

+2

@ i-lo - [so]問答格式並非真正面向討論。這裏的問題必須足夠具體,才能爲實際問題提供具體的答案。你可以前往[php聊天室](http://chat.stackoverflow.com/rooms/11/php)並在那裏進行討論。 – Lix

回答

4

是的,這很好,AFAIK它們可以無限嵌套。

請不要使用這些變量是一個好主意,更不用說變量變量變量變量變量變量變量變量變量變量變量變量變量變量變量變量變量。

0

您可以將變量作用於堆棧的高度。它是半無限的。您可以在變量內聲明變量,直到內存空間不足。然後瘋狂的瘋狂事情將會開始發生,並且你的程序可能會崩潰(真的很有可能)。無論哪種方式,這種類型的範圍不建議。

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++; 
} 

只輕微測試。