$name和$$name的区别?

natici 2011-09-08 04:13:07
如题,两者有什么区别吗?两个美元符号开头的是什么意思?
...全文
130 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dmm_892018122 2011-09-09
  • 打赏
  • 举报
回复
转载:
?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"
}
*/
?>
danqe 2011-09-08
  • 打赏
  • 举报
回复
呵呵,就是就是。
natici 2011-09-08
  • 打赏
  • 举报
回复
我刚才也无意中看到手册的说明了。。。才发现两个美元叫可变变量,惭愧呀写了这么久php今天才认识它。
黄袍披身 2011-09-08
  • 打赏
  • 举报
回复
至于一个美元就不用说了吧?
黄袍披身 2011-09-08
  • 打赏
  • 举报
回复
可变变量
可变变量 变量的变量名可以动态的设置和使用。


$wd="hello";
$hello="world";
echo $wd." ".$$wd; //hello world

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧