请问为什么Perl、PHP变量命名要加$?

任民 发布于 2012/03/28 09:16
阅读 2K+
收藏 0

问题如标题。
请问这是为什么?必要性在哪里?
这样一来岂不是每次输入一个变量的时候要按着shift再按4,我总觉着这样好麻烦,不如直接输入变量名称来的简单。
PS:我键盘盲打一般,敲字母还行,敲符号的时候总要低一下头。

加载中
0
b
backtracker

Perl 最初的设计者为拉里·沃尔(Larry Wall),他于1987年12月18日发表。Perl借取了C、sed、awk、shell scripting以及很多其他程序语言的特性。

shell中变量前面是要加 $的,估计是从shell中学来的。个人猜测。

0
deleted
deleted
perl是源自unix shell的遗传, php是源自perl的遗传
笨奔的水泥工
笨奔的水泥工
0
超然
超然
$就是美元符号,就是钱。看到它让你有动力编写代码。哈哈
i
ihongs
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
代东升
代东升
每敲一行代码都是$,动力十足
0
leo108
leo108

这样就可以实现很多很强大的功能啊,例如

$a = 'b';
$b = 'c';
echo $$a;//输出的是$b的值也就是c

这个是PHP很重要的一个功能,很多快速开发框架都要用到这个特性。

再来一个

$a = 'leo108';
$b = "i'm $a";
echo $b;//输出i'm leo108

YIPU
YIPU
弱语言的好处
leo108
leo108
回复 @liveM : 不是
livem
livem
这是不是说明 $ 是一个地址运算符了?
mark35
mark35
可变变量呀
0
inuxor
inuxor
perl除了变量还有数组和散列,加上上下文使用的“_”和各种简写,如果不标示明白,代码就不可读了
0
nobody1986
nobody1986
貌似早期是为了方便解析,同时也是学的perl吧。
0
匿名t3a
匿名t3a
这是艺术
0
Monkey
Monkey
$美刀,就是说你没写一句都是在创造价值。
0
jeffsui
jeffsui

引用来自“Monkey”的答案

$美刀,就是说你没写一句都是在创造价值。
同意,美刀的动力。
一号男嘉宾
一号男嘉宾
要是是中国人开发的,那不就是 ¥a='a'; ¥b='b';
0
sjdy521
sjdy521

python语言就是完全没这个$,php中却任何变量都是$(标量,数组)

但是个人更喜欢perl的这种方式!!而不是php或者python那种

1、这个是perl的历史成长问题,从shell中引进来的吧

2、一个变量,他到底是标量还是数组,还是哈希,通过符号我可以很清晰的获得第一眼的直观感受,而python或者php里全部都是完全一样的,没任何醒目标志,看着头晕啊!

b
b7e3
同意,Larry用$@&%来区别各种类型,可以在程序中很清晰的看出来,不用去翻看定义,而且在写程序的时候不同的类型可以重名(虽然大部分时间不会用到)。
返回顶部
顶部