68927

Операції над змінними

Лекция

Информатика, кибернетика и программирование

Перевірка існування змінної. Знищення змінної. Перевірка існування змінної. Знищення змінної Ви можете запитати а як же арифметичні і інші операції Решта всіх операцій специфічна для конкретного типу змінної.

Украинкский

2014-09-27

43 KB

0 чел.

Лекція № 3

Тема: Операції над змінними

План

  1.  Види операцій.
  2.  Оператор присвоєння.
  3.  Перевірка існування змінної.
  4.  Знищення змінної.

Види операцій

Ми вже розглянули дві найважливіші операції із змінними — визначення і установку типу змінною. Тому нам залишилося розглянути всього три операції:

Присвоєння значення.

Перевірка існування змінної.

Знищення змінної

Ви можете запитати, а як же арифметичні і інші операції? Решта всіх операцій специфічна для конкретного типу змінної. Наприклад, операція множення абсолютно безглузда для двох рядків або числа і рядка.

Проте, PHP є дуже гнучкою мовою і виконує перетворення числа в рядок (і навпаки) непомітно для нас. Коли я говорив, що операція множення безглузда для двох рядків, я був не зовсім має рацію. Виконаєте цей сценарій, і ви переконаєтеся в цьому:

<?

$х   = "10";    //   рядок

$у   = "2";   //   і   це   рядок

echo $х*$у;

?>

Сценарій, замість повідомлення про помилку, виведе на екран число 20. Як бачите, якщо рядок допускає перетворення типу, то PHP працює з рядками, як із звичайними числами.

Оператор присвоєння

Оператор присвоєння дозволяє надати змінній деяке значення. Немає такої мови програмування, в якому не було б оператора присвоєння. Тому я вас сильно не здивую, якщо скажу, що в PHP він теж є:

$х   =   4; $у   =   $х;

Ось, що вам потрібно знати про цього оператора і правила присвоєння:

  •  Змінній можна привласнити: яке-небудь значення; значення, що повертається  функцією;  значення іншої  змінної;  значення виразу ($х + $у * 2 — 7); посилання на іншу змінну.
  •  У PHP немає покажчиків, тому, якщо в змінну $х ви розмістете файл розміром 500 Кб, а потім привласните її змінній $у, то буде створена точна копія змінної $х, яка теж займатиме 500 Кб. Разом у вас в пам'яті буде майже один мегабайт інформації. Це потрібно враховувати при створенні так званих тимчасових змінних. Бажано після закінчення роботи з такою змінною звільнити пам'ять, тобто знищити змінну.
  •  Інтерпретатор сам виконує перетворення типів, але іноді привести тип змінної до іншого просто неможливо. Наприклад, як можна перетворити рядок «1212ro3te» в число?
  •  Як я вже говорив, при привласненні створюється точна копія змінної, копіюється також і тип змінної. Це означає, що якщо ви масиву привласните число, весь масив буде втрачений.

Робота оператора присвоєння складається з двох послідовних етапів:

1.Обчислення виразу, що стоїть в правій частині.

2. Присвоєння змінній, що стоїть в лівій частині, значення, отриманого в пункті 1.

Таким чином, через те, що процес присвоєння складається з двох роздільних етапів, в лівій і правій частині оператора присвоєння може знаходитися одна і та ж змінна. Наприклад: $х  =   $х+4.

Крім того, так само як і в мові Сі, в PHP існує можливість використання операції присвоєння в наступному вигляді: змінна операция=значение.

Наприклад:

$x   +=10;   //   еквівалентно   $х   =   $х   +   10;

$х   *=10;   //   еквівалентно   $х   =   $х   *   10;

Перевірка існування змінної

Перевірка існування змінної — це дуже зручна можливість мови програмування. Ви можете запитати: «А навіщо вона потрібна? Що я не пам'ятаю, оголошував я змінну чи ні?» Я зараз поясню. Пам'ятаєте, я говорив, що змінні може оголошувати самому PHP — при розборі параметрів. Так от, завдяки можливості перевірки існування змінної ви можете перевірити, чи переданий сценарію певний параметр чи ні, а тільки потім починати з ним працювати. Розглянемо два сценарії.

Сценарій 1:

<?

$х   =   $m_name;

?>

Сценарій 2:

<?

if (isset($m_name)) { $x = $m_name;

?>

У першому випадку ми відразу починаємо працювати із змінній. Якщо з яких-небудь причин інтерпретатор не передав сценарію параметр m_name, ми отримаємо повідомлення про те, що змінна не визначена. У другому сценарії ми за допомогою функції isset ($m_name) перевіряємо існування змінної $m_name, а тільки потім починаємо з нею працювати. В результаті ваш сценарій не припинить свою роботу із-за банальної помилки користувача, якщо той забуде ввести своє ім'я.

Звичайно, якщо перевіряти всі передані параметри, наша програма стане набагато «товща» (особливо, якщо параметрів багато). Проте ми можемо поступити простіше. Припустимо, що нам потрібно написати анкету на PHP, що містить ім'я і адресу електронної пошти. Алгоритм нашого сценарію буде таким:

  •  Якщо користувач не передав параметри, означає ми виводимо
    форму анкети.
  •  Якщо параметри передані (про що свідчить наявність змінної кнопки submit), означає можна почати обробку параметрів.

Виходить, що нам досить перевірити тільки один параметр:

<html><head><title>AHKeTa</title></head><body>

<?

if(!isset($go))

{

// змінна go (кнопка) не встановлена, виводимо форму:

echo "<form action=script.php method=post>"; /* Виводиться поля анкети, а потім кнопку go */

echo "<input type=submit name=go value=Send></form>";

}

else {

/* Параметри введені користувачем, починаємо обробку */

}

Перевіривши існування кнопки go, ми починаємо обробку параметрів. У формі, що виводиться, я використовував метод POST. Для РНР-сценаріїв абсолютно немає ніякої різниці, яким методом їм будуть передані параметри, тому з міркувань безпеки краще використовувати метод POST (ніхто із-за спини не побачить, що ввів користувач), та і виглядає він естетичніше (нічого зайвої в рядку адреси не відображається).

Видалення змінних

Щоб не засмічувати пам'ять, можна видалити непотрібні нам змінні. Це можна робити за допомогою функції unset(). Ця функція видаляє вказану в дужках змінну з пам'яті, і програма продовжує виконуватися как-будто ця змінна взагалі не ініціалізувала.

<?

$а = читаем_большой_файл;

обробляємо файл;

unset($a); // звільняємо пам'ять

?>

Ця функція особливо корисна і навіть необхідна при обробці великих об'ємів даних, щоб вони не залишалися в пам'яті комп'ютера і не уповільнювали його роботу.


 

А также другие работы, которые могут Вас заинтересовать

30123. Хромосомные синдромы 19.27 KB
  Хромосомные синдромы: Хромосомные синдромы с числовыми нарушениями аутосом: Синдром Дауна трисомия по хромосоме 21 одна из форм геномной патологии при которой чаще всего кариотип представлен 47хромосомами вместо нормальных 46 поскольку хромосомы 21й пары вместо нормальных двух представлены тремя копиями трисомия см. Существует ещё две формы данного синдрома: транслокация хромосомы 21 на другие хромосомы чаще на 15 реже на 14 ещё реже на 21 22 и Yхромосому 4 случаев и мозаичный вариант синдрома 5 . Синдром получил...
30124. Кариотип 17.21 KB
  Кариотип это совокупность признаков полного набора хромосом соматических клеток организма на стадии метафазы III фаза деления клетки – их количество размер форма особенности строения. Исследование кариотипа проводят методом световой микроскопии с целью выявления патологии хромосом. Чаще всего это исследование проводят у детей для выявления заболеваний обусловленных нарушениями в хромосомах и у супругов при бесплодии или привычном невынашивании беременности. Выявление хромосомных перестроек в этом случае позволяет установить причину...
30125. Генетический контроль синтеза ферментов 16.67 KB
  Генетический контроль синтеза ферментов. Однако под действием некоторых сигналов синтез индуцибельных ферментов повышается. coliв присутствии лактозы образуется ряд ферментов участвующих в катаболизме этого дисахарида. Репрессор связывается со специфическим участком ДНК и блокирует транскрипцию генов ответственных за синтез определенных ферментов.
30126. Создание устройства для дистанционного мониторинга основных физиологических показателей человека, программного обеспечения для регистрации частоты сердечных сокращений и температуры тела 3.2 MB
  Устройство для дистанционного мониторинга физиологических показателей человека позволяет удалённо следить за температурой и частотой пульса пациента. Устройство закрепляется на внутренней стороне плеча, что позволяет точнее измерять температуру.
30127. Разработка аппарата коррекции речи, который использует такие методы лечения заикания как «метроном» и «задержанная акустическая связь» 2.4 MB
  Благодаря речи индивидуальное сознание каждого человека, не ограничиваясь личным опытом, собственными наблюдениями, питается и обогащается результатами общественного опыта: наблюдения и знания всех людей становятся или могут благодаря речи стать достоянием каждого. Огромное многообразие стимулов, которое получает благодаря этому человек, дало мощный толчок для дальнейшего развития его мозга
30128. Микро- и наноэлектроника. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ДИПЛОМНОМУ ПРОЕКТИРОВАНИЮ 835 KB
  ЦЕЛИ И ЗАДАЧИ ДИПЛОМНОГО ПРОЕКТИРОВАНИЯ Дипломное проектирование по специальности Микро и наноэлектроника является заключительным этапом обучения студента в университете и имеет следующие цели: систематизацию закрепление и расширение теоретических и практических знаний по специальности применение этих знаний при решении конкретных научных технических экономических и производственных задач; развитие навыков ведения самостоятельной работы и овладение методикой исследования и экспериментирования при решении разрабатываемых в...
30129. Исследование методов позиционирования, а так же разработка устройства для дистанционного мониторинга технических объектов, транспортных средств и человека 873.95 KB
  Одним из основных компонентов системы позиционирования является устройство под названием GPSтрекер.4 Применение систем навигации Кроме навигации координаты получаемые благодаря спутниковым системам используются в следующих отраслях: Геодезия: с помощью систем навигации определяются точные координаты точек Картография: системы навигации используется в гражданской и военной картографии Навигация: с применением систем навигации осуществляется как морская так и дорожная навигация Спутниковый мониторинг транспорта: с помощью систем...
30130. Створення газети на тему «Молодь обирає спорт» у програмі Page Maker 639.28 KB
  Програма PageMaker є складовою частиною лінійки програмних продуктів фірми Adobe, до складу якої крім того входять Adobe Table, Adobe FrameMaker, Adobe PageMill, Adobe Photoshop, Adobe Illustrator, Adobe Streamline, Adobe Premier. Практично кожна з цих програм є світовим лідером в своїй області
30131. Создание управляющих программ с использованием сплайновой интерполяции типов AKIMA(ASPLINE), NURBS(BSPLINE) и кубического сплайна(CSPLINE). Воспроизведение сплайновой интерполяции в системе ЧПУ WinPCNC 184.33 KB
  Воспроизведение сплайновой интерполяции в системе ЧПУ WinPCNC Выполнил: студент гр. Ход Работы В процессе обучения будет рассмотрено использование сплайновой интерполяции на двух примерах. Будем использовать три основных типа сплайна: SPLINE kim сплайн BSPLINE NURBS сплайн CSPLINE кубический сплайн.