Why PHP variables start with a $ sign symbol?

22,700

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!

Share:
22,700
Bakhtiyor
Author by

Bakhtiyor

Learn how to learn.

Updated on December 17, 2020

Comments

  • Bakhtiyor
    Bakhtiyor over 3 years

    Has anybody ever thought about this question. Why we must write $var_name = value; and not var_name = value;? Yes I know that it is the syntax rule that PHP uses, but why is it a $ sign symbol?

  • Aaron Butacov
    Aaron Butacov almost 14 years
    It'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
    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
    Babiker almost 14 years
    The dollar sign indicates VALUE.
  • Zuul
    Zuul almost 14 years
    @Babiker, true on that, it's more or less the goal of my little fun answer! ;)
  • Zuul
    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
    John Kugelman almost 14 years
    You didn't have the "real" answer when you originally posted.
  • Zuul
    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
    John Kugelman almost 14 years
    Alright, alright, uncle! You're too darn nice and cheery to downvote.
  • Jürgen Paul
    Jürgen Paul almost 11 years
    PHP now has Closures,Namespacing..etc.
  • Franco Selem
    Franco Selem about 10 years
    I believe TRUE BASIC also uses the dollar sign construct to indicate a preceding string variable. It would go something like string$ = "Hello". It's a rather peculiar character I agree.
  • Kellen Stuart
    Kellen Stuart almost 8 years
    @mederomuraliev Nice mention of haskell! Simon and JP would be proud.