25
votes

Lately I've been using # instead of // for doing single line comments inside my code. However, I see most of the people prefer //.

Is there a particular reason for preferring them instead of #? Performance? File weight? Anything?

9
Support for prefixing comments with # in INI files has been removed in PHP 7. May be # commenting is going out of fashion. Better to stick with popular //nawfal

9 Answers

22
votes

It doesn't change a single thing, I'd say ; it's just a matter of habits :

  • // comes from C, and exists in several languages used by lots of people.
  • # comes from shell and Perl, and exists in not as many "important" languages as // -- so less people use it.

And why are those two both available in PHP ? Well, PHP has been built with people knowing both C, Shell, and Perl, and they have brought what they liked from those languages ;-)

5
votes

I'd probably stick with // simply because it's the same in JavaScript, and when you code PHP, you're likely going to have some JavaScript in your files as well. (Most websites use JavaScript nowadays.)

This way, your comments look the same, regardless of the language, and it'd ease readability a small bit.

4
votes

I would only suggest you use // or /* */. As your programs grow you may wish to use a documentator like phpdoc to automate documentation for your program and most of these documentators as well as IDE's will only accept these two.

4
votes

For single line comments, there is no significant technical reason for prefering // over the octothorpe (that's what the Zend PHP 5 Certification Study Guide calls #) or vice versa. // seems to the more common choice out there in the wild.

3
votes

I think it's merely a matter of taste and preference. The # as comment marker has its roots in shell scripts while // goes back to C++ so depending on the people who read your code and their background one or the other might look unfamiliar.

3
votes

You can use #, but // is much more common. It is also the agreed upon Code Convention in PEAR.

2
votes

IDE support may be a reason. For instance, with Eclipse you can automatically comment and uncomment blocks with //, but not with # (with the PHP plugin; the Python plugin does #). Looking at it that way, it depends on the IDE you and your collaborators use.

1
votes

"//" seems more consistent with the "/* */" block comments to me. But apart from that, I know of no reason to prefer one over the other.

0
votes

Both of them are serving the same exact purpose: commenting out some piece of code. I'd prefer # because it takes 1 byte. // takes 2 bytes. ;)