已掉线,重新登录

首页 > 绿虎论坛 > 杂类 > 超级灌水 (发帖)

标题: 为什么php变量名要加$而不是¥

作者: @Ta

时间: 2012-08-13

点击: 2753

为什么php变量名要加$呢?因为方便老板算钱,1个$一美元,所以我决定以后再也不用循环了.....
呵呵,其实我认为php无需定义变量原因在于变量前面有个$

[隐藏样式|查看源码]


『回复列表(14|隐藏机器人聊天)』

1. @老虎会游泳 
(/@Ta/2012-08-13 07:25//)

2. int b;
(/@Ta/2012-08-13 07:26//)

3. 开发人员知道¥?
(/@Ta/2012-08-13 07:32//)

4. 其实就像英语与汉语一样
(/@Ta/2012-08-13 07:59//)

5. 美元符作为变量名是由Perl开始的。PHP很多语法都模仿Perl。所以你可能需要找找为什么Perl的开发者选择了$而不是其他的字符。
¥不属于ASCII字符,非中文用户无法输入它(中文用户也无法输入它,在电脑键盘上我们只能输入全角的¥,而¥是半角的),且只能保存在UTF-8编码中,所以不能作为变量定义关键字(你想放弃GBK编码?!GBK中没有半角¥,不信自己用mb_convert_encoding转码再输出试试,¥会变成问号。)
顺便介绍一下PHP的创始人:    
拉斯姆斯· 勒多夫 ( 英语 : Rasmus Lerdorf ,1968年11月22日-)出生于 格陵兰岛 凯凯塔苏瓦克 ,是一个 丹麦 程序员 ,他拥有 加拿大 国籍。他也是编程语言 PHP 的创始人,其中PHP的头两个版本是由他编写的,后来他也参与PHP后续版本的开发。
(/@Ta/2012-08-13 08:03//)

6. 要想作为变量定义关键字,首先必须方便输入,也就是必须在键盘上能找到。
键盘上所有的符号和它们在PHP中的用途:
~ 按位翻转(C语言这么用。如果你不知道什么是按位翻转就算了)
` 执行命令行(如果PHP被设定为允许执行命令行,echo `ping 127.0.0.1`将输出与在CMD或终端中执行该命令一样的内容。该符号的用法出现在Linux Shell脚本.sh中)
! 取反(大多数语言都是这样用的)
@ 用来抑制错误,PHP独有的?不清楚
# 单行注释标记(Linux Shell这么用)
$ 定义变量(Linux Shell这么用,它出现的比Perl更早,也许Perl是模仿它才用的$)
% 取模(大多数编程语言都这样用)
^ 按位异或(C语言这样用。在数学中a^b表示a的b次方,在某些编程语言中也表示乘方)
& 按位与(来自C)
&& 逻辑与(来自C)
* 乘号
( ) 括号
+ 加号
= 等号
== 相等
=== 全等
_ 下划线是合法变量/函数/常量名的一部分
- 减号
| 按位或(来自C)
|| 逻辑或(来自C)
\ 转义字符(来自C)
{ } 代码块(来自C)
[ ] 数组(来自C)
: 冒号,用在三元表达式中(a ? b : c),来自C
:: 调用类的静态属性/方法(来自C++)
; 语句结束(普遍这样用)
"  ' 定义字符串,普遍这样用
<  > 大于;小于
<>不等于(望文生意)
, 分隔参数(普遍这样用)
. 连接字符串(来自Perl)
? 用于三元表达式,来自C
/ 除号
总结发现,只有@$有可能成为变量定义关键字(取模%是不能放弃的,太常用了;用.或`来定义变量太不美观了,.a='b'; `c='d'; ?!#倒是可以用,#a=5; 但是Linux中到处都在用#做注释,其他符号太常用了,改变它们的意思不合适)。最终开发者选择了$,因为Linux Shell和Perl,甚至POSIX正则表达式中都使用$定义变量(替换时使用的$1、$2……)
(/@Ta/2012-08-13 08:40//)

7. 美元嘛
(/@Ta/2012-08-13 08:50//)

8. @老虎会游泳 !是非 ~才是位运算取反
(/@Ta/2012-08-13 09:03//)

9. @老虎会游泳 很奇怪为什么没有c中的goto语句
(/@Ta/2012-08-13 09:05//)

10. @五角圆星,goto直到php5.4才被支持
!是逻辑非。我之前一直想怎么表达,没想到逻辑非。但是“非”本身就是取反的意思。
(/@Ta/2012-08-13 09:37//)

11. @老虎会游泳 php中c语言的一些其他的规则书上没说 不过应该支持 比如$a="abcdefghijklmn";echo $a[5];
(/@Ta/2012-08-13 10:00//)

12. @老虎会游泳 我的问题是 有没有其他的一些被忽略却很实用的规则?
(/@Ta/2012-08-13 10:01//)

13. @五角圆星http://cn.php.net/manual/zh/language.types.string.php,大部分技巧都是字符串处理中出现的。
建议把PHP手册的
简介
布尔类型
整型
浮点型
字符串
数组
对象
资源类型
NULL
Callbacks
都看一看。
(/@Ta/2012-08-13 11:21//)

14. int main();
{
cls(22,44,990);
}
(/@Ta/2012-08-15 15:15//)

回复需要登录

8月24日 12:42 星期天

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1