2012-04-11 17 views
0
function funct($matches) 
{ 
$fff = "hello"; 
$var1 = 'fff'; 
eval("\$woot = \$$var1;"); 
echo $woot; 
} 

なぜこの作品のようなものはありませんか?私はしばらくそれを回してきた。ここで私はエコーが「hello」を印刷したいが、私は明らかに:(PHPのEval()問題

ありがとう!

+3

周りのいくつかの遊びは、のために正常に動作しています私。 –

+1

[codepad](http://codepad.viper-7.com/UUkpjv) –

+1

でそれを見ることができますもちろん、変数変数を使って 'evil'なしでこれを行うことができます:' $ woot = $$ var1; '。 – deceze

答えて

0

はあなたのエラーが何であるかわからないが、あなたのコードが正常に動作するように何かをしないのです...

あなたの関数の内側部分を実行

$value = " xxx"; 

function funct() { 
    $fff = "user"; 
    $var1 = 'fff'; 
    eval ("\$woot = \$$var1;"); 
    echo $woot; 
} 

function funct1(&$value) { 
    $fff = "1222728"; 
    $var1 = 'fff'; 
    eval ("\$value = \$$var1;"); 
    echo $value; 
} 

funct(); 
funct1 ($value); 

出力

user1222728