<?php  
$a = "asp";
$b =& $a;
echo "<br>".$b;       // 此时$b = 'asp'
$a = "php";
echo "<br>".$b;       // 此时$b = 'php'
?>  

解决方案 »

  1.   

    HOHO,老大发话了
    其实在function里也常用到的function test($param1, &$param2) {
    ....
    }看看手册 》》》 变量 》》》 基础 这一章吧
      

  2.   

    这个我知道,但我想的意思是 $b = "'$a'",而不是$b = $a;请再看看??
    我是想写一个sql语句,先写好字段和值的表达式,到后面可能会改变值的变量的值,这样能实现吗??
      

  3.   

    建议你用函数吧!
    定义global应该可以轻松的解决!
    我试了你这种方法,好久都没有搞定,希望有高手现身!帮你顶!
      

  4.   

    functin get_a_with_quote(){
    global $a;
    return "'".$a."'";
    }
      

  5.   

    我的初衷是处理用户输入的表单的php文件,在用户输入的数据中,有上传的文件,我要将文件用程序来根据规则自动取名,然后将文件的保存路径放到数据库中,但我不知道用户上传的图片是什么后缀名的,所以要靠程序来判断,然后加上给保存时的文件名。
    问题是我想做个保存数据的通用函数,然后将需要保存的数据作为参数传给该函数,这样就要改变传入的函数的sql语句中的值,我这样的设计是否正确?
    在传入的参数中,已经有类似"'$var'"这样的变量,但我要更改它的值怎么才能实现?
    如果实在不行,那只有在函数中来构建sql语句了,这样做比较麻烦。
      

  6.   

    唠叨大哥,只提示用eval函数,但没有给出具体的例子,帮你顶!
    我用eval试不出!
      

  7.   

    我在函数接收的变量中已经存在"'$var'",这样用eval也是不行的吧,具体我还没试。
      

  8.   

    eval ("\$b = \""."'".$a."'"."\";");
    输出为
    asp
    asp
    如果要变成
    'asp'
    'asp'很容易!
    但是变成eval ("\$b = \""."'".&$a."'"."\";");
    就出错!
      

  9.   

    “我在函数接收的变量中已经存在"'$var'",”是什么意思?贴出你的代码!
      

  10.   

    // 定义上传文件的数组
    $upfile   = array
                (
                    0 => array 
                         (
                              "tmpfile"  => $_FILES["file"]["tmp_name"]["spic"],
                              "name"     => $_FILES["file"]["name"]["spic"],
                              "savename" => $filename,
                              "savepath" => $spic,
                              "fldname"  => "spic",
                          ),
                    1 => array 
                         (
                              "tmpfile"  => $_FILES["file"]["tmp_name"]["lpic"],
                              "name"     => $_FILES["file"]["name"]["lpic"],
                              "savename" => $filename,
                              "savepath" => $lpic,
                              "fldname"  => "lpic",
                          )            );
    // $pic 为用户上传的file的值
    $addflds = "goono,catno,name,supno,buyno,spic,lpic,ctime";
    $addvals = "'$goono','$catno','$name','$supno','$buyno','$spic','$lpic',now()";// 以下是函数内部的代码if(is_array($upfile))
    {
        for($i = 0; $i < count($upfile); $i++)
        {
            ${$upfile[$i]["fldname"]} = $upfile[$i]["savepath"];
            $fldvalue = SaveUpFile($upfile[$i]["tmpfile"],$upfile[$i]["name"],$upfile[$i]["savename"],$upfile[$i]["savepath"]);
            ${$upfile[$i]["fldname"]} .= "/".$fldvalue;
         }
    }$sqlstr  = "insert into $table ";
    $sqlstr .= "($addflds)";
    $sqlstr .= " values ($addvals)";下面运行sql语句
      

  11.   

    在SaveUpFile函数中,我将保存好的文件名返回,即$fldvalue的值是改变过的,我输出${$upfile[$i]["fldname"]}是正确的,但不能改变下面的$sqlstr中的"'$spic'"和"'$lpic'"的值。
      

  12.   

    真的不知你在说什么?
    $sqlstr  = "insert into $table "; //即便你的目标表会改变
    $sqlstr .= "($addflds)"; //目标字段也会改变吗?
    $sqlstr .= " values ($addvals)";//数据总应该用“''”括起吧?
      

  13.   

    sql语句这样写:$sqlstr  = "insert into ".$table."(".$addflds.") values (".$addvals.")";
      

  14.   

    我在$addflds和$addvals中已经赋好值了
    如:$addflds = "fld1,fld2"
        $addvals = "'$val1','$val2'"
    我是想更改$addvals 中的'$val1'的值。
      

  15.   

    $addvals = "'$val1','$val2'" ???
    如果$val1、$val2是需要动态修改的变量,那么要写作
    $addvals = "'\$val1','\$val2'";
    引用时写作
    $sqlstr .= " values (".eval("return \"$addvals\";").")";
      

  16.   

    $addvals=str_replace(fld1,"'$val1'",$addvals);
    $addvals=str_replace(fld2,"'$val2'",$addvals);