PC FAQ





Главная Delphi PHP Контакты

Последние статьи
Популярное
  • Обзор Палитры Компонент
    В данной статье дается обзор стандартных и дополнительных компонент из Палитры Компонент Delphi (ст
  • Основы работы с базами данных
    В этом уроке описываются основы работы с базами данных. Напомним, что под базой данных понимается н
  • DDE Delphi
    В данной статье приводятся основные факты о DDEML и показывается, как можно использовать DDE в п
  • Логические величины (истина/ложь)
    Логический тип данных принимает всего два значения: истинное (true) и ложное (false). Логические в
  • Переменные
    В примерах, приведенных выше, я попутно показал, как происходит присваивание и изменение значений
  • Объект TOLEContainer
    Из статьи Вы узнаете основные сведения об OLE, некоторые вещи относительно OLE 2 и OLE Automation
  • Строковые значения
    Строкой (string) называется последовательность символов, которая рассматривается как единое целое,
  • Массивы
    Массив представляет собой список однотипных элементов. Существует два типа массивов, различающи
  • Печать текстовая и графическая
    Если Вам нужно напечатать на принтере документ в текстовом режиме, то это делается следующим образо
  • Управление проектом
    Проект Delphi Любой проект имеет, по-крайней мере, шесть файлов, связанных с ним. Три из них отн
Переменные

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

Объявление переменных

Переменная представляет собой именованную область памяти, содержащую данные, с которыми можно выполнять операции во время выполнения программы.

Имена переменных всегда начинаются со знака доллара, $. Ниже приведены примеры допустимых имен переменных:

$соlоr

$operating_system

$_some_variable

$model

Имена переменных должны соответствовать тем же условиям, что и идентификаторы. Другими словами, имя переменной начинается с буквы или символа подчеркивания и состоит из букв, символов подчеркивания, цифр или других ASCII-символов в интервале от 127 до 255.

Следует заметить, что переменные в РНР, как и в языке Perl, не требуют специального объявления. Вместо этого переменная объявляется при первом ее использовании в программе. Более того, тип переменной косвенно определяется по типу хранящихся в ней данных. Рассмотрим следующий пример:

$sentence = "This is a sentence."; // $sentence интерпретируется как строка

$price = 42.99: // $price интерпретируется как вещественное число

$weight = 185; // $weight интерпретируется как целое число

Переменные могут объявляться в любой точке сценария РНР, однако от расположения объявления зависит то, откуда можно обращаться к данной переменной.

Область видимости переменных

Область видимости (scope) определяется как область доступности переменной в той программе, в которой она была объявлена. В зависимости от области видимости переменные РНР делятся на четыре типа:

  • локальные переменные;
  • параметры функций;
  • глобальные переменные;
  • статические переменные.

Локальные переменные

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

Основное достоинство локальных переменных — отсутствие непредвиденных побочных эффектов, связанных со случайной или намеренной модификацией глобальной переменной. Рассмотрим следующий пример:

$х = 4;

function assignx () {

$х = 0;

print "\$x inside function is $x.
";

}

assignx();

print "\$x outside of function is $x.
";

При выполнении этого фрагмента выводится следующий результат:

$х inside function is 0.

$х outside of function is 4.

Как видите, программа выводит два разных значения переменной $х. Дело в том, что переменная $х внутри функции assignx имеет локальную природу, и изменение ее значения никак не отражается на значении, существующем за пределами этой функции. Справедливо и обратное — модификация $х за пределами функции никак не отражается на локальных переменных функции assignx().






ГлавнаяОбратная связьDelphiPHP