$query = "update PORTAL set PORTAL_NAME='".$PORTAL_NAME."',PORTAL_URL='{$PORTAL_URL}',PORTAL_IMG='{$PORTAL_IMG}',CLOSABLE='{$CLOSABLE}',DISABLED='{$DISABLED}' where PORTAL_ID='{$PORTAL_ID}';";想请问下这个里面的刮号{}是什么意思.为什么不象PORTAL_NAME一样用点号来连接

解决方案 »

  1.   

    //PHP会解析双引号中的变量,但在有些情况下会有歧义而导致一些意外情况,加上大括号就是让PHP知道这是一个变量,比如:
    $x = 'test';
    echo "$xy";  //Notice:Undefined variable: xy
    echo "{$x}y"; //输出testy
      

  2.   

    $PORTAL_NAME变量不在双引号里面,不会产生歧义,所以不需要加上大括号。
      

  3.   

    花括号表示其间的内容为一个整体
    广泛的应用于程序中,当然在双引号内页不例外显然
    "update PORTAL set PORTAL_NAME='".$PORTAL_NAME."',PORTAL
    没有
    "update PORTAL set PORTAL_NAME='{$PORTAL_NAME}',PORTAL
    简洁
    当不会出现歧义时
    "update PORTAL set PORTAL_NAME='$PORTAL_NAME',PORTAL
    更简洁