От Pascal к PHP. Переменные

От Pascal к PHP. ПеременныеЭто вторая из серии статей о том, как после Pascal выучить PHP.

Первая статья (введение) здесь.

Из этой статьи Вы узнаете основные вещи про переменные в PHP и о том, чем они отличаются от переменных в Pascal.

Итак, приступим.

Объявление переменных и их использование в программе

Разберем процесс объявления переменных и их использования на примере сложения двух чисел.

Pascal

var a, b, sum : integer;

begin
    a := 1;
    b := 2;
    sum := a + b;
    
    write(sum);
end.

Как мы видим, переменные объявляются в разделе var: задаются их имя и тип, а потом они используются в программе. В нашем случае — это переменные a, b и sum. При этом тип переменной во время выполнения программы не меняется.

PHP

<?php

$a = 1;
$b = 2;
$sum = $a + $b;

echo $sum;

?>

Стоит обратить некоторое внимание на синтаксис.

Присваивание переменных осуществляется с помощью символа = (равно). Его значение аналогично комбинации символов := (двоеточие и равно) в Pascal.

Все переменные начинаются со знака $ (доллар). При этом, в отличие от Pascal, переменные не нужно объявлять в начале программы перед их использованием. Мы просто берем их и используем. В этом есть как плюсы, так и минусы.

Из плюсов можно отметить, что не объявляя переменные, мы тем самым экономим своё время. Ещё удобно то, что переменные можно заводить в любом месте программы, например, перед их непосредственным использованием, а не только в начале скрипта.

Из минусов — нужно внимательно следить за правильностью написания названия используемой переменной, то есть такой код вполне себе будет работать:

<?php

$variable = 1;

echo $varible;

?>

Если не поставить режим выдачи ошибок и предупреждений, то интерпретатор PHP просто промолчит о том, что у нас переменная $varible не задана. По умолчанию, он будет считать, что она имеет значение NULL. А так как значение NULL команда echo отображать не умеет, то на экран ничего выдано не будет. А ведь всего лишь пропустили в названии переменной одну букву и уже столько проблем.

К счастью, большинство сред разработки (блокнот не в счёт) позволяет автоматически дописывать имя переменной, что делает вероятность ошибиться гораздо меньше.

Регистр символов

Регистр символов в PHP имеет значение.

Посмотрим ещё раз пример с суммированием чисел.

Pascal

var a, b, sum : integer;

begin
    A := 1; // большая буква A
    b := 2;
    Sum := a + B; // Sum и B написаны с большой буквы
    
    write(SUM); // полностью большие буквы
end.

Такой код на Pascal работать будет, так как он не обращает внимания на регистр букв, которыми пишутся названия переменных. Хотя сложно представить ситуацию, когда это действительно нужно… Если только для тех, кто первый раз пишет программу и за этим не следит.

PHP

<?php

$A = 1; // большая буква A
$b = 2;
$Sum = $a + $B; // Sum и B написаны с большой буквы

echo $SUM; // полностью большие буквы

?>

Такой код на PHP при включенном отладчике выдаст ошибку и на экран суммы чисел выдано не будет. Для PHP регистр символов, которыми написаны переменные имеет значение. Получается, что следующие переменные это переменные, содержащие разные данные:

<?php

$abc = 0; // число
$Abc = 'hello'; // строка
$aBc = []; // массив
$abC = new stdClass(); // стандартный объект

?>

Типизация

Тип переменных в PHP не важен.

Pascal

var a, b, sum : integer;

В Pascal для каждой переменной в программе нужно с самого начала определять её тип: будет ли она целым числом, числом с плавающей точкой, строкой, массивов или чем-то другим. Причем во время выполнения программы тип переменной менять уже нельзя. Если переменной сказано, что в ней будут лежать целые числа, то только им там и место.

PHP

<?php

$a = 0; // говорим, что в переменной $a лежит число
// ... что-то делаем с $a ...
$a = 'hello'; // говорим, что в переменной $a теперь будет лежать строка
// ... ещё что-то делаем с $a ...
$a = [0, 'qwerty', 3.5]; // говорим, что теперь в $a будет лежать массив

?>

В PHP всё гораздо проще. Мы можем одной переменной во выполнения скрипта присваивать любые значения, какие нам захочется. И интерпретатор нам даже слова не скажет.

На практике эта возможность используется при вызове функций. В случае ошибки она возвращает значение другого типа и отпадает необходимость передавать в неё переменную, которая будет содержать в себе код ошибки в случае неправильного выполнения функции. Это очень удобно.

В остальных же случаях лучше избегать использовать эту возможность языка, поскольку будет возникать путаница в логике программы.

Заключение

Давайте подведём итог вышесказаному.

  1. Объявлять переменные в PHP можно в любом месте скрипта.
  2. Все переменные начинаются с символа доллара $.
  3. Переменные регистрозависимые ($a и $A это разные переменные).
  4. Одна и та же переменная может иметь любой тип в любом момент исполнения скрипта.

На этом говорить о переменных в PHP пока закончим. О различных типах переменных Вы можете узнать из официальной документации. Там про это очень подробно написано. Для начинающих не обязательно читать о таких типах как объекты, ресурсы, callbacks. С остальными лучше ознакомится.

До встречи в следующих статьях. Чтобы не пропустить обновления, не забудьте подписаться.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *