up!是不是想达到混编模式了!lucky for you!

解决方案 »

  1.   

    声明$b是全局变量!<?php
    $a='
    <?
    global $b; //《==在这里声明
    $b="faint";
    ?>
    ';
    function parse($content)
    {
    //global $b; //〈==或是在这里声明都可以
    eval("?>".$content);
    }
    parse($a);
    echo $b;
    ?>
      

  2.   

    为什么要么麻烦,没必要呀。
    而且如果你成功了
    <?...?>
    <? $b="faint"; ?>
    echo $b; ????  这一句就出错了。你要$b的值 直接这样就行了
    $a="$b='faint';"
    eval($a);
    echo $b;
      

  3.   

    <?php
    $string = 'cup';
    $name = 'coffee';
    $str = 'This is a $string with my $name in it.';
    echo $str. "\n";
    eval("\$str = \"$str\";");
    echo $str. "\n";
    ?>
      

  4.   

    [引用]最初由 唠叨 发布,   声明$b是全局变量![/引用]这是在变量已知的情况下可以这么做但是,变量个数未知,而且,eval解析的php语句也是未知,我想让在函数内部用eval解析的php语句,在函数外部也生效
    这就不只是变量的问题了
      

  5.   

    function parse($content)
    {
    eval("?>".$content);
    return get_defined_vars();
    }
    $ar = parse($a);你可以这样取得用eval解析的php语句后的变量
    不过小哥哥,既然“变量个数未知,而且,eval解析的php语句也是未知”,那么即使取到了又有什么用呢?
    $x=2;
    你说这个$x用什么意义吗?