Why PHP variables start with a $ sign symbol?
Solution 1
Because PHP was based on Perl which used $
, though the symbols Perl used were meaningful and plenty used to indicate the data type, ( such as @ used to indicate an array ) PHP just has $
.
PHP in its early stages was a simplistic version of Perl but over time incorporated more of Perl's features, though one may argue PHP was for a long time a simplistic primitive version of Perl since before PHP 5.3 it did not include features that have been around in other languages such as closures/namespacing.
http://en.wikipedia.org/wiki/PHP
Larry Wall, the creator of Perl, was inspired to use $
from shell scripting: http://en.wikipedia.org/wiki/Sigil_%28computer_programming%29
Solution 2
This has been common in computer languages for a long time, that's all. Long before Perl, too! For instance, check out Commodore 64 BASIC
10 PRINT "WHAT IS YOUR NAME?"
20 INPUT A$
30 IF A$="BAHKTIYOR" THEN PRINT "HEY CHECK OUT THAT DOLLAR SIGN"
In BASIC the $ was after the variable name, however.
Solution 3
Prepending all variables with $ makes the code somewhat easier to parse, and fits in with the "Hello $var" variable-embedded-in-string idea.
Solution 4
Funny answer:
Think in PHP variables as persons, you name a person and assign it a job!
But that person will refuse to work if you don't pay, so, provide a dollar in first hand :)
$Jack = "drive my car" ;
Just bringing fun to the "Game"! Enjoy!
Regarding a real answer:
The $ sign was chosen in early times of computer coding, because it was a sign present in virtually all char set codes, and a sign rarely needed within programming languages!
Comments
-
Bakhtiyor over 3 years
Has anybody ever thought about this question. Why we must write
$var_name = value;
and notvar_name = value;
? Yes I know that it is the syntax rule that PHP uses, but why is it a$
sign symbol? -
Aaron Butacov almost 14 yearsIt's not the language's fault that cheap hosts don't want to upgrade. PHP is coming along as its own language nicely.
-
meder omuraliev almost 14 years@Aaron - Even if you do get the latest PHP, it's still far lacking in features compared to Python/Haskell/Perl/ (insert language ). There are simply better languages out there with more features, which are more organized but just not as popular and accessible. And I'm speaking from the perspective of a person who's used PHP more than those aforementioned languages.
-
Babiker almost 14 yearsThe dollar sign indicates VALUE.
-
Zuul almost 14 years@Babiker, true on that, it's more or less the goal of my little fun answer! ;)
-
Zuul almost 14 years@Babiker, good to know... I just don't know about does down votes, since my history knowledge about the dollar sign it's quiet good, and my 15 year old programming books prove it ;)
-
John Kugelman almost 14 yearsYou didn't have the "real" answer when you originally posted.
-
Zuul almost 14 years@John Kugelman, thats true, I did have to edit my answer, but that was a personal war that I had with my mouse ;) (sometimes I want to select a block of text to give the "comment" tag, and my mouse decides that the selected text is to be deleted... personal issues between us) ;)
-
John Kugelman almost 14 yearsAlright, alright, uncle! You're too darn nice and cheery to downvote.
-
Jürgen Paul almost 11 yearsPHP now has Closures,Namespacing..etc.
-
Franco Selem about 10 yearsI believe
TRUE BASIC
also uses the dollar sign construct to indicate a preceding string variable. It would go something likestring$ = "Hello"
. It's a rather peculiar character I agree. -
Kellen Stuart almost 8 years@mederomuraliev Nice mention of haskell! Simon and JP would be proud.