среда, 18 июня 2014 г.

PHP. Основы синтаксиса: переменные, типы, операторы.

PHP. Основы синтаксиса: переменные, типы, операторы.

Продолжаем насаждать культ веб-разработки на "самом популярном языке современности". Этап второй - базовый синтаксис. Переменные и рецепты их скорейшего приготовления.
Ремарка - если у вас есть опыт программирования (c, javascript, python, etc.), эту статью можно не читать.



Переменные.

Переменная - это ключевой элемент в процедурном программировании. Логика построения кода строится исходя из свойств и ограничений переменных. Если вы не имеете никакого опыта программирования, то имеет смысл привести пример кода, в котором нет переменных.

<?php
  print "Hello, world!";
?>

Этот код выведет строку "Hello, world!" на веб-странице. Но, если мы немного забежим мыслью вперед, будет очевидно, что подобный код не имеет никакого смысла. Можно было бы просто написать этот текст без всякого PHP. Однако, если мы предположим, что у нас есть возможность менять строку, передаваемую в конструкцию print, то в использовании PHP появляется смысл.

Возможность выполнять некие действия со значением, которое будет определено во время выполнения кода, обеспечивает использование переменных. Переменная в данном контексте - это своего рода вместилище, контейнер некоторого значения. У него есть имя, по которому мы и обращаемся с переменной. Абстрагируясь, от практической полезности следующего примера, акцентируем внимание на переменной. Имя переменной в PHP всегда начинается с символа $ после которого следует буква, либо символ подчеркивания. Остальные символы имени могут быть буквами, цифрами, или подчеркиваниями.

<?php
  $x = 10;
  $A_2 = 20;
  $welcomeString = "Hello, world!";
  print $welcomeString;
?>

В приведенном коде мы видим три примера объявления переменных и присваивания им значения. Каждый раз, когда мы присваиваем переменной значение, мы меняем содержимое нашего именованного контейнера. И каждый раз, когда мы используем переменную как значение, мы обращаемся к этому содержимому.
Как мы увидим по мере использования PHP, переменная - это ключевой элемент кода, определяющий способы работы с данными и конструкции языка, предназначенные для работы с теми или иными структурами данных.


Типы.
Тип - это некоторый признак значения, который определяет его общие свойства. Т.е. тип характеризует объект (переменную, константу) по совокупности свойств, определяющих его допустимое использование. Например, для числе это будет способность принимать участие в арифметических выражениях.
PHP, как и многие скриптовые языки не имеет жесткого контроля типов, т.е. не относится к языкам со строгой типизацией. Это означает, что любой переменной мы можем присвоить значение любого типа. Тем не менее, работа с данными предполагает различение типов.
Уже на втором примере (код выше) мы видим несколько типов данных, которыми может оперировать логика приложения. Рассмотрим пока основные из них.

Числа.
Целочисленный тип. К нему принадлежат числа без дробной части. В нотации PHP - integer, или int.
Примеры : 1;   2;   123456

Числа с плавающей точкой. Это числа с десятичной дробной частью. Имя типа - float. Стоит иметь в виду, что тип указывает не на значение, а на формат хранения числа. Т.е. число с дробной частью, приведенное к целочисленному типу попросту будет округлено. А целочисленное, приведенное к float  изменит тип, но не изменит значения.
Пример:  3.14

Строки. Строки записываются в двойных, либо одинарных кавычках (важно соблюдать идентичность кавычек). Запись в двойных кавычках имеет дополнительные возможности, о них немного позже, в главе, посвященной строкам.
Пример:  "Hello, PHP!";

Логический, или двоичный тип. Boolean. В чистом виде этот тип имеет два значения:
 true  (истина)
и
 false  (ложь).
Этот специфичный тип является результатом логических операций, таких как И, ИЛИ, НЕТ (инвертирование) или сравнение значений.


Операторы.

Общие операторы.
Присваивания значение.
Самый главный оператор - это оператор присваивания  =  . Что бы вы не писали, и какой бы тип данных не использовали, у вас непременно будут переменные, которым надо будет присваивать значение. Оператор присваивания используется интуитивно-понятно, как в школьной арифметике. Выражение (точнее, его результат) справа от оператора присваивается переменной слева от оператора. Примеры мы уже видели выше.

<?php
  $a = 5;
  $b = "My name is Vasya";
  $skilled = true;
?>


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

<?php
  print "(3 + 5) * 7 = " . ((3 + 5) * 7) . ";";
?>

Арифметические.
 + сложение
 - вычитание
 * умножение
 / деление
пример:

<?php
  $a = 5;
  $b = 100;
  $c = 15;
  $x = $a * 7 + ($b - $c / 3);
?>

Арифметические операторы имеют производные, в виде составных операторов присваивания. Каждый такой оператор выполняет сначала арифметическую операцию, а затем присваивает результат переменной.

<?php
  $x = 10;
  $x += 5;
?>

После выполнения второй строки кода $x будет равен 15.
Операторы с присваиванием:

<?php
  $x = 10;
  $x += 5;
  $x -= 3;
  $x *= 7;
  $x /= 4;
?>


Логические.
&& логическое И. возвращает true, если оба значения равны true.
|| логичесоке ИЛИ, возвращает true, если хотя бы один из операндов равен true.
! логическое инвертирование. возвращает значение обратное исходному.

  -- операторы сравнения.
== "равно". возвращает true при одинаковых значениях
!= "не равно". возвращает true, если значения неравны.
=== "идентично". сравнивает, сопоставляя тип значений.
!== "не идентично". обратное "идентично"
> "больше"
>= "больше или равно".
< "меньше".
<= "меньше или равно"

Строковые.
 .   "точка" - оператор конкатенации (соединения) строк. Соединяет две строки в одну.

<?php
  $str = "Hello, " . "user";
  $user = 'Vasya';
  $welcome = "Hello, " . $user;
?>

Подобно арифметическим операторам, конкатенация имеет форму с присваиванием.

<?php
  $welcom = "Hello, ";
  $welcome .= "Vasya";
?>


Другие.
Как можно видеть, на клавиатуре осталось еще какое-то количество значков :) но остальные операторы рассмотрим в соответствующих темах.
Каждый оператор имеет свой приоритет, который определяет очередность выполнения операторов в одном выражении. Некоторые из них, такие как скобки и арифметические операции достаточно интуитивно понятны. Для более сложных случаев стоит обращаться к таблице приоритетов.


Комментариев нет:

Отправить комментарий