Free PHP course. Sign Up for tracking progress →

PHP: Naming of variables

Naming of variables is an important aspect of programming. Names not only must convey the meaning, but also must comply with certain syntax rules, which is not checked on the language level, but is very important in the course of development. The process of program development in the modern world is team work and in order to facilitate interaction of the team the code must have a unified style, as if it was written by a single person.

Each language has its own rules. For a long time PHP rules were somehow messed. To tell the truth, the language itself has lots of contradictions and not only on the level of naming. You will face it in our lessons later and in actual development. Recently PHP has adopted a general standard coding standard followed by everyone. Such standard describe differen coding aspects. We advise you to make it your habit to consult the standard and write you code according to its rules from the beginning.

We can distinguish three basic ways of naming variables, that sometimes can be combined. All of these approaches take place when a variable name consists of several words:

  • kebab-case — words are separated by hyphen. For example: my-super-var.
  • snake_case — words are separated by underscore. For example my_super_var.
  • CamelCase — each word starts with a capital letter. For example: MySuperVar.

In PHP developers use CamelCase and it's variation - lowerCamelCase, when the first letter of the first word stays lowercase.

Other convention mandates naming variable in English rather than using transliteration. If you are not sure how to name a variable in English, it's best to use a translator. With time, having read lots of other people's code you will form the right image of how to name variables.

Luckily, we don't have to memorize all the standard rules, because there are special programs that automatically check our code and notify us about any violation. Such programs are called linters and you will start using them later when you are a little bit more experienced.

We start using linters on Hexlet almost from the very beginning.


Create two variables with names "number one" and "number two" in English using lowerCamelCase. Assign the value 1.10 to the first variable, and -100 to the second variable. Output the product of two numbers referred by the corresponding variables.

Code will work with any name, and our system checks only the output on the screen, so we count on you to approach this exercise responsibly.

The exercise doesn't pass checking. What to do? 😶

If you've reached a deadlock it's time to ask your question in the «Discussions». How ask a question correctly:

  • Be sure to attach the test output, without it it's almost impossible to figure out what went wrong, even if you show your code. It's complicated for developers to execute code in their heads, but having a mistake before their eyes most probably will be helpful.
In my environment the code works, but not here 🤨

Tests are designed so that they test the solution in different ways and against different data. Often the solution works with one kind of input data but doesn't work with others. Check the «Tests» tab to figure this out, you can find hints at the error output.

My code is different from the teacher's one 🤔

It's fine. 🙆 One task in programming can be solved in many different ways. If your code passed all tests, it complies with the task conditions.

In some rare cases, the solution may be adjusted to the tests, but this can be seen immediately.

I've read the lessons but nothing is clear 🙄

It's hard to make educational materials that will suit everyone. We do our best but there is always something to improve. If you see a material that is not clear to you, describe the problem in “Discussions”. It will be great if you'll write unclear points in the question form. Usually, we need a few days for corrections.

By the way, you can participate in courses improvement. There is a link below to the lessons course code which you can edit right in your browser.


  • Coding standard - set of coding rules regarding syntax and style.

If you got stuck and don't know what to do, you can ask a question in our huge and friendly community