Головна » Файли » Мої файли

Локальные переменные в PHP
23.05.2012, 20:35
Локальные переменные создаются внутри функции, и к ним имеется доступ только из кода этой функции. Обычно это временные переменные, которые используются до выхода из функции для хранения частично обработанных результатов. Одним из наборов локальных переменных является перечень аргументов функции. В предыдущем разделе была определена функция, воспринимающая параметр по имени $timestamp. Значение этого параметра действительно только в теле функции, за пределами этой функции его значение нельзя ни получить, ни установить. Для того чтобы привести еще один пример локальной переменной, рассмотрим функцию longdate еще раз в слегка измененном варианте, показанном в примере.
Расширеная версия функции longdate
function longdate ($timestamp)
{
$temp = date("l F jS Y", $timestamp);
return "Дата: $temp";
}
?>

В этом примере значение, возращенное функцией date, присваивается временной переменной $temp, которая затем вставляется в строку, возвращаемую определяемой функцией. Как только будет осуществлен выход из функции, значение переменной $temp удаляется, как будто она вообще никогда не использовалась. Теперь, для того чтобы посмотреть на области видимости переменных в действии, рассмотрим несколько похожий код, показанный в примере ниже. Здесь переменная $temp была создана eще до вызова функции longdate. 

$temp = "Дата: ";

eho longdate ($timestamp)

{

return $temp . date("l F jS Y", $timestamp);

}

?>

Но поскольку переменная $temp не была создана внутри функции longdate, а также не была передана ей в качестве параметра, функция longdate не может получить к ней доступ. Поэтому этот фрагмент кода выведет только дату без предшествующего ей текста. На самом деле сначала будет отображено сообщение об ошибке, предупреждающее об использовании неопределенной переменной: «Notice: Undefined variable; temp».

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

$temp = "Дата: ";

echo $temp . longdate(time());

function longdate ($timestamp)

{

return date ("l F jS Y" , $timestamp);

}

?>

В примере ниже ссылка на $temp перемещена за пределы функции.Эта ссылка появляется в той же области видимости, в которой была определена переменая.

Пример.

$temp = "Дата: ";

echo $temp . longdate(time());

function longdate ($timestamp)

{

return date ("l F jS Y" , $timestamp)

}

?>

В примере  принято другое решение: передать значение переменной $temp функции longdate в качестве дополнительного аргумента. Функция longdate считывает это значение во временную переменную, которую она создает под именем $text, и выводит желаемый результат. Программисты часто допускают ошибку, забывая об области видимости переменных, поэтому, если не забывать о принципах ее работы, это поможет в отладке некоторых весьма неочевидных ошибок программного кода. Если вы не объявили переменную каким-нибудь особым образом, ее область видимости ограничена локальным пространством: либо в пределах кода текущей функции, либо в пределах кода, не принадлежащего никаким функциям, в зависимости от того, где эта переменная была впервые создана или где к ней впервые был получен доступ - внутри функции или за ее пределами. 

 

Категорія: Мої файли | Додав: [UA]Admin
Переглядів: 915 | Завантажень: 0
Всього коментарів: 0
Додавати коментарі можуть лише зареєстровані користувачі.
[ Реєстрація | Вхід ]

Які ігри розміщувати на сайті?
Всего ответов: 23
Реклама на сайті Чорнобай - 063-878-77-71 Ковка Киев
Найближчі населені пункти до селища міського типу    Чорнобай: Ви власник цих сайтів, пропоную співпрацю! м. Золотоноша20 км
смт. Оржиця29 км
м. Черкаси32 км
смт. Драбів34 км
смт. Новооржицьке48 км
м. Гребінка50 км
с. Великі Липняги56 км
м. Сміла59 км
м. Лубни61 км
Середа
08.07.2020
08:50

[ Управління профілем ]
Онлайн радио

OnLine
Онлайн всього: 1
Гостей: 1
Користувачів: 0

Користувачів онлайн:
На сайті Чорнобай були:

Ремонт компютерів настройка та устаноака систем, програм та антивірусів, створення рефератів, дипломних, курсових, робіт.Банери та дизайн. Створення сайтів Черкаси - Чорнобай тел. - 063 - 878 - 77 - 71 - 096 - 180 - 12 - 12