Отправляет email-рассылки с помощью сервиса Sendsay

PHP. Учимся Сами.

  Все выпуски  

PHP. Учимся Сами.


Информационный Канал Subscribe.Ru


PHP. Учимся сами.
Выпуск 2.
Здравствуйте, уважаемые подписчики. Приношу вам свои извинения за немного корявый первый выпуск, а заодно привожу заново последний пример из того выпуска. Первый блин комом :)
example1.php

<?
// комментарий,  те строки которые интерпретатор не обрабатывает
/*  это тоже комментарий */

  $int_a = 10;
  $int_b = -5;
  $float_c = 3.14;
  $float_d = -4.2e-5;
  $str_var1 = 'Как то раз в деревне';
  $str_var2 = 'Зюзюкино';
  $str_var3 = "число пи равно $float_c";

echo "<pre>";

echo "
Целые числа:
 \$a=$int_a
 \$b=$int_b

Вещественные:
 \$c=$float_c
 \$d=$float_d

Строки:
 \$str_var1=$str_var1
 \$str_var2=$str_var2
 \$str_var3=$str_var3

";

$sum = $int_a+$int_b;

  echo "\$a+\$b=$sum"<br">";
  echo "\$a+\$b=".($int_a+$int_b)."<br>";

  echo "\$a+\$c=".($int_a + $float_c)."<br>";
  echo "\$c+\$d=".($float_c + $float_d)."<br>";

  echo "конкатенация (объединение) строк \$str_var1  и \$str_var - ".$str_var1." ".$str_var2;
echo "</pre>";
?>

Сегодня мы рассмотрим константы, выражения и операции.

Содержание:
- константы
- выражения
- операции
константы
Константы, применяются для хранения каких то, наперед заданных значений, которые не меняются по ходу выполнения программы. Такими значениями могут быть некие математические величины (например курсы валют), пути к файлам, идентификаторы. Константы отличаются от переменных тем, что им нельзя присвоить значение больше одного раза и они в PHP не предваряются знаком $.
 Пример:

 // Пусть определена константа KURS равная 30.11,  в которой хранится значение у.е. в рублях

 $value = KURS*30       // вычисляем стоимость покупки в рублях
 echo "Курс у.е. KURS"; // выведет "Курс у.е.KURS";
 echo "Курс у.е.".KURS; // выведет "Курс у.е. 30.11";
Как видно из примера, отсутствие знака $ перед именем переменной не всегда удобно.. Константы внутри строки в кавычках не интерполируются интерпретатором.

Предопределенные константы

Предопределенные - константы, которые устанавливает сам интерпретатор. Их список достаточно велик, поэтому, дабы не увеличивать размер сегодняшнего выпуска по пустякам, советую вам самим обратиться к PHP Manual и посмотреть.

Константы определяемые программистом

PHP позволяет нам самим определять те константы, которые необходимы. Делается это с помощью оператора define().

bool define ( string name, mixed value [, bool case_insensitive]);
Объявляет новую константу с именем name и значением value. Если необязательный параметр case_insensitive равен TRUE, то в дальнейшем регистр букв константы учитывается. (по умолчанию так и есть)
 Пример:

 define ("PI",3.1459); // числовая константа
 define ("TEXT", "Значение константы PI равно "); // текстовая константа

 echo cos(PI/4); // считаем косинус 45 градусов
 echo TEXT.PI;   // выводим строчку "Значение константы PI равно 3.1459";

*Здесь и в дальнейшем я буду использовать для описания функций и операторов синтаксис официального руководства (PHP Manual)
в PHP так же существует функция проверки существования константы.

bool defined ( string name);
Возвращает TRUE, если константа с именем name определена.

выражения
Выражение представляет собой конструкцию, определяющую состав данных, операции и порядок выполнения операций над данными. Выражения состоят из операндов - данные над которыми выполняется действие и знаков операций - которые определяют действие над операндом. Простейший пример выражения - переменная или константа после оператора присваивания.

$a = 10;           // число 10 это выражение, так как оно имеет значение равное 10
$b = $a;           // это тоже выражение и оно так же будет иметь значение 10
Это пример простых выражений. Выражения могут быть сложными например:

$a = ($b+10)/2; // или
$c = $a*12+sin($b=$d/3);
Как видно каждое выражение имеет свой тип значения.
По своему типу выражения делятся на

арифметические - операции с числами

$a = 10+12;    // выражение принимает числовое значение равное 22
$b = $a*0.01;  // выражение принимает числовое значение равное 0.22

логические - выражения которые могут принимать только два значения "истина" (TRUE) и "ложь" (FALSE).

$a = 10<12;     // $a=TRUE
$b = !$b;       // $a=TRUE если $b=FALSE  и наоборот

строковые - содержат текст вместе с символами форматирования.

$a = "некий текст\n";
$b = 'некий текст'; 

операции
арифметические:

$a + $b  - cложение
$a - $b  - вычитание
$a * $b  - умножение
$a / $b  - деление
$a % $b  - остаток от деления

арифметические:

$a.$b    - слияние
$a[n]    - символ в позиции в n  строки $a

Например:

$a = '1234567890';
echo $a[0]; // выведет символ 1

присваивания:

$a = 10;  // присвоить переменной $a значение 10
$a += 4;  // прибавить к $a 4
$a *= 4;  // умножить $a на 4

$a  = "Hello";
$a .= " World"; // теперь в $a "Hello World"

и т.д. по одному на каждую арифметическую, строковую или другую операцию.

инкремента и декремента:

$a++; // увеличивает $a на 1
$a--; // уменьшает $a на 1

Есть несколько тонкостей использования этих операций. Так, если вы используете инкремент или декремент в выражении, то возвращается значение до изменения:

$a=10;
$b = $a++; // $a = 11; $b = 10;

Как видно сначала в $b было присвоено значение 10, и только потом увеличилась переменная $a

Существуют так же парные рассмотренным операторам, которые указываются перед именем переменной. Соответственно и возвращают они значение переменной после изменения:

$a=10;
$b = ++$a; // $a = 11; $b = 11;

битовые операции:
Эти операции предназначены для установки/снятия/проверки групп битов целых чисел.

$a & $b  - результат - число у которого установлены только те биты, которые установлены и у $a и У $b
$a | $b  - результат - число у которого установлены только те биты, которые установлены либо в $a, либо в $b (или одновременно)
~ $a     - результат - число у которого вместо 1 в $a cтоят 0, и наоборот
$a << $b - поразрядный сдвиг $a на $b битов в лево
$a >> $b - то же вправо.

операции стравнения:

$a == $b - истина, если $a равно $b
$a != $b - истина, если $a не равно $b
$a <  $b - истина, если $a меньше $b
$a >  $b - истина, если $a больше $b
$a <= $b - истина, если $a меньше или равно $b
$a >= $b - истина, если $a больше или равно $b

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

операции эквивалентности:
Очень часто оператор == не справляется со своей функцией, и зачастую это может привести к не совсем очевидным ошибкам. Например:
$a=0;  // ноль
$b=""; // пустая строка
$a==$b // выражение будет иметь значение TRUE, т.е. a и b равны
        

Данную проблему решает оператор эквивалентности === (тройное равенство). Он не только сравнивает значения, но и их типы.
$a=0;   // ноль
$b="";  // пустая строка
$a===$b // выражение будет иметь значение FALSE, т.е. a и b не равны
        

С помощью оператора === можно в отличии от == сравнивать массивы и объекты;
$a=array('a'=>'aaa');
$b=array('b'=>'bbb');

if ($a==$b) echo "Массивы равны (==)";
if ($a===$b) echo "Массивы равны (===)";
        

при выполнении будет выведена только строка "Массивы равны (==)"

логические операции:
!$a       // отрицание, TRUE если $a=FALSE и наоборот
$a && $b  // "и", TRUE если a и b равны TRUE
$a||$b    // "или", TRUE если или a=TRUE или b=TRUE , или они оба
        

Вычисление логических выражений, содержащих эти операции, всегда идет слева на право.

Все свои вопросы Вы можете задавать на по адресу phplearn@inbox.ru
Копирование материалов возможно только в случае явного указания на данную рассылку как на источник информации.
© 2003 Copyright by MScript Engine

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное