PHP中变量为什么要用$?

C/VB/PHP中
可以利用值(数和字符串)的位置
1/函数参数
2/运算符操作数(包括VB中的赋值语句)
3/数组下标(包括PHPkey标)

能产生值(数和字符串)的位置
1/简单变量
2/数组元素
3/结构成员
4/函数
5/常量(一般字面常量、C和PHP中define常量、VB中const常变量)
6/运算结果
在这三种语言中,能产生值的位置都能够用于可利用值的位置,这一点大家都是相同的,没有什么区别
另:函数产生值为数组(结构,有待测试)的
C中返回的为数组指针,函数返回值能够直接用于偏移运算,以定位数组元素
VB和JS中也可以直接后加元素下标,进行元素定位
但是唯独在PHP不行

C和VB中需要字面名称的位置
1/变量名(包括简单变量名/数组变量名/结构变量名)
2/结构成员名
3/函数名
4/类名
5/常量名

以上这些名称,说到底都是字符,如果能利用'能产生值的位置'中的那些元素中所产生的字符来进行二次解析,将是很方便的,但是这很容易造成歧义,为了克服,于是在PHP中引入了$符号,使那些能产生字符的元素用于那些需要字符的元素,进行二次解析,但是PHP做了一些限制,仅仅将简单变量产生的字符,用于变量名/函数名/结构成员名/类名,不包括常量名,其他能返回字符的元素,典型的如函数,也不能用于作为变量名/函数名/结构成员名/类名的名称,进行二次解析

<2015-04-09 测试 php中类公共成员字符 数组元素字符 类公共成员是数组的数组元素字符 都可以作为函数名进行二次解析>


特别的:
1/二次解析只能两层,$$$a,只能解析2个$,最后一个$将以字符形式输出
2014-10-19测试,可以正常输出
<?php
$_1 = '_2';
$_2 = '_3';
$_3 = '_4';
$_4 = '_5';  
echo "$$$$_1"; 
?>
2/PHP中特有的单双引号,单引号直接输出,双引号解析转义,如\n等及$单层变量(包括单层简单变量和数组,其中数组的key不能用引号,但可以直接用单层$变量表示)
3/类在set/get传递属性name名的时候,是将其转变成字符串做参数传递,然后在进行二次解析,这里的->符号就相当于变量的$符号进行理解
  
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值