如题,两者有什么区别吗?两个美元符号开头的是什么意思?

解决方案 »

  1.   

    可变变量
    可变变量 变量的变量名可以动态的设置和使用。
     $wd="hello";
     $hello="world";
     echo  $wd." ".$$wd; //hello world
      

  2.   

    我刚才也无意中看到手册的说明了才发现两个美元叫可变变量,惭愧呀写了这么久php今天才认识它。
      

  3.   

    转载:
    ?php
    #php的可变变量
    /*可变变量就是变量名可以动态的设置和使用的变量。
    一个可变变量获取了一个普通变量的值作为这个可变变量的变量名。
    因为普通变量的值是可变的,所以可变变量的变量名也是可变的。
    */
    //可变变量适合在什么场合使用呢?
    $a = "hello";//定义一个普通变量
    $$a = "world";//定义一个可变变量
    echo "$a\n";//output:hello
    echo "${$a}\n";//使用可变变量
    //同echo "$hello\n";//output:world
    echo "$hello\n";
    ?><?php
    #php的字符串运算符
    //连接运算符(“.”)
    $a="first";
    $b=$a."==>second";//now $b is "first==>second"
    echo "$b\n";//连接赋值运算符(“.=”)
    //the same to $a=$a."==>second"
    $a.="==>second";//now &a is "first==>second"
    echo "$a\n";/*其实可以理解为就只有一种,即连接运算符
    这里的点(".")连接运算符和java语言中的字符串连接符("+")是类似的。*/
    ?><?php
    #php的数组运算符:+
    /* PHP 仅有的一个数组运算符是 + 运算符。
    它把右边的数组附加到左边的数组后,但是重复的键值不会被覆盖。
    亦即,以左边的数组为主导,若附加其上的(右边的)数组中有与其key重复的部分将被忽略
    */
    $a = array("a" => "apple", "b" => "banana");
    $b = array("a" =>"pear", "b" => "strawberry", "c" => "cherry");
    $a1=array("c"=>"a1_cherry","d"=>"a1=d");
    $c = $a + $b;
    var_dump($c);
    /*output:
    array(3) {
      ["a"]=>
      string(5) "apple"
      ["b"]=>
      string(6) "banana"
      ["c"]=>
      string(6) "cherry"
    }
    */$d = $a + $b+$a1;
    var_dump($d);
    /*output:
    array(4) {
      ["a"]=>
      string(5) "apple"
      ["b"]=>
      string(6) "banana"
      ["c"]=>
      string(6) "cherry"
      ["d"]=>
      string(4) "a1=d"
    }
    */
    ?>