登录
立即注册
首页
>
绿虎论坛
>
杂类
>
超级灌水
(
发帖
)
为什么php变量名要加$而不是¥
五角圆星
@Ta
2012-08-13
2761点击
为什么php变量名要加$呢?因为方便老板算钱,1个$一美元,所以我决定以后再也不用循环了.....
呵呵,其实我认为php无需定义变量原因在于变量前面有个$
隐藏样式
查看源码
回复列表(14|
隐藏机器人聊天
)
1
五角圆星
@Ta
/ 2012-08-13 /
样
/
源
@
老虎会游泳
2
HYGSH
@Ta
/ 2012-08-13 /
样
/
源
int b;
3
icEz
@Ta
/ 2012-08-13 /
样
/
源
开发人员知道¥?
4
白夜
@Ta
/ 2012-08-13 /
样
/
源
其实就像英语与汉语一样
5
老虎会游泳
@Ta
/ 2012-08-13 /
样
/
源
美元符作为变量名是由Perl开始的。PHP很多语法都模仿Perl。所以你可能需要找找为什么Perl的开发者选择了$而不是其他的字符。
¥不属于ASCII字符,非中文用户无法输入它(中文用户也无法输入它,在电脑键盘上我们只能输入全角的¥,而¥是半角的),且只能保存在UTF-8编码中,所以不能作为变量定义关键字(你想放弃GBK编码?!GBK中没有半角¥,不信自己用mb_convert_encoding转码再输出试试,¥会变成问号。)
顺便介绍一下PHP的创始人:
拉斯姆斯· 勒多夫 ( 英语 : Rasmus Lerdorf ,1968年11月22日-)出生于 格陵兰岛 凯凯塔苏瓦克 ,是一个 丹麦 程序员 ,他拥有 加拿大 国籍。他也是编程语言 PHP 的创始人,其中PHP的头两个版本是由他编写的,后来他也参与PHP后续版本的开发。
6
老虎会游泳
@Ta
/ 2012-08-13 /
样
/
源
要想作为变量定义关键字,首先必须方便输入,也就是必须在键盘上能找到。
键盘上所有的符号和它们在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……)
7
Curtion
@Ta
/ 2012-08-13 /
样
/
源
美元嘛
8
五角圆星
@Ta
/ 2012-08-13 /
样
/
源
@
老虎会游泳
!是非 ~才是位运算取反
9
五角圆星
@Ta
/ 2012-08-13 /
样
/
源
@
老虎会游泳
很奇怪为什么没有c中的goto语句
10
老虎会游泳
@Ta
/ 2012-08-13 /
样
/
源
@
五角圆星
,goto直到php5.4才被支持
!是逻辑非。我之前一直想怎么表达,没想到逻辑非。但是“非”本身就是取反的意思。
11
五角圆星
@Ta
/ 2012-08-13 /
样
/
源
@
老虎会游泳
php中c语言的一些其他的规则书上没说 不过应该支持 比如$a="abcdefghijklmn";echo $a[5];
12
五角圆星
@Ta
/ 2012-08-13 /
样
/
源
@
老虎会游泳
我的问题是 有没有其他的一些被忽略却很实用的规则?
13
老虎会游泳
@Ta
/ 2012-08-13 /
样
/
源
@
五角圆星
,
http://cn.php.net/manual/zh/language.types.string.php
,大部分技巧都是字符串处理中出现的。
建议把PHP手册的
简介
布尔类型
整型
浮点型
字符串
数组
对象
资源类型
NULL
Callbacks
都看一看。
14
San_Ny
@Ta
/ 2012-08-15 /
样
/
源
int main();
{
cls(22,44,990);
}
添加新回复
回复需要
登录
。
¥不属于ASCII字符,非中文用户无法输入它(中文用户也无法输入它,在电脑键盘上我们只能输入全角的¥,而¥是半角的),且只能保存在UTF-8编码中,所以不能作为变量定义关键字(你想放弃GBK编码?!GBK中没有半角¥,不信自己用mb_convert_encoding转码再输出试试,¥会变成问号。)
顺便介绍一下PHP的创始人:
拉斯姆斯· 勒多夫 ( 英语 : Rasmus Lerdorf ,1968年11月22日-)出生于 格陵兰岛 凯凯塔苏瓦克 ,是一个 丹麦 程序员 ,他拥有 加拿大 国籍。他也是编程语言 PHP 的创始人,其中PHP的头两个版本是由他编写的,后来他也参与PHP后续版本的开发。
键盘上所有的符号和它们在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……)
!是逻辑非。我之前一直想怎么表达,没想到逻辑非。但是“非”本身就是取反的意思。
建议把PHP手册的
简介
布尔类型
整型
浮点型
字符串
数组
对象
资源类型
NULL
Callbacks
都看一看。
{
cls(22,44,990);
}