各位好,本人新手,刚刚接触php,我有一个问题:为什么php中变量名之前都要加“$”号来标识?php的解释程序应该可以通过文法分析来确定代码中的某个字符串是变量还是系统保留字或者其它什么的,比如在c,java等语言里面,变量名之前不需要加任何特殊的标志符。为什么php里面需要用$来标识变量?这种现象在perl里面也存在,是不是php的语法解释器功能有限?无法区分变量,只能通过一个特殊的字符"$"来表示变量?php里面每个变量的开头都要加上"$",而输入这个字符是比较别扭的,至少比输入一般的英文字符要费事,拷贝变量的时候,我们在ultraedit里面用鼠标双击某个变量,只能选中字符部分,却无法选中"$",这样在粘贴变量的时候还需要自己手动添加这个符号,非常费时!现在全世界有成千上万的php网站,php代码少说也有上亿行,这里面又有无数的变量名,每个变量名的前面都有"$",输入这些字符需要浪费我们多少宝贵的时间和金钱?这是为什么?

解决方案 »

  1.   

    我现在从 PHP 转学 JSP ,不用 $ 还觉的不方便呢.$w = 100;
    $h = 200;
    echo "<img src'1.gif' width='$w' height='$h' art='' />";-- VS --int w = 100;
    int h = 200;
    out.print("<img src'1.gif' width='"+w+"' height='"+h+"' art='' />");哪个方便呢...
      

  2.   

    因为做PHP的人都比较有钱,所以在前面加个刀!
      

  3.   

    $x=3;
    $y='x';
    echo $$y;
      

  4.   

    1、加一个$可以使解释程序大为简化,从而提高运行速度
    2、php出世的时候perl已经比较流行了,所以加一个$可以吸引众多的perl程序员转向
      

  5.   

    linux程序员的毛病  你熟悉L*了就觉得很正常了 
      

  6.   

    历史问题,unix那时候就存在了,SHELL,PERL等脚本语言都是那样定义变量的,主要是区分字符和变量。例如 echo test就是字符"test",echo $test就是输出变量的值。
      

  7.   

    加$使中文编程成为可能<?  $金额 = "10000元";
      echo "楼主欠我".$金额;?>
      

  8.   

    因为是PHP开发人员规定的,因为你想用PHP!
      

  9.   

    linux里也用$
    php和linux的关系很好.所以用同样的语言结构