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); // звільняємо пам'ять

?>

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


 

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

27070. Документальное оформление, порядок ведения и отражения в учете кассовых операций 16.09 KB
  Для учета кассовых операций применяются приходный кассовый ордер форма № КО1 расходный кассовый ордер форма КО2 журнал регистрации приходных и расходных кассовых документов форма КО3 кассовая книга форма КО4 книга учета принятых и выданных кассиром денежных средств форма КО5. Все операции по поступлению и расходованию денежных средств кассир записывает в кассовую книгу которая должна быть пронумерована прошнурована и опечатана сургучной печатью. В дебет его записывают поступление денежных средств в кассу а в кредит выбытие...
27071. Инвентаризация материальных запасов 15.97 KB
  Инвентаризация материальных запасов Методические указания по инвентаризации имущества и финансовых обязательств от 13 июня 1995 г . Инвентаризационной комиссией в описях заполняются данные о фактическом наличии товарноматериальных ценностей. Результаты проведенной инвентаризации материальных запасов отражают в инвентаризационной описи сличительной ведомости по объектам нефинансовых активов ф. При хранении материальных запасов в разных изолированных помещениях у одного материально ответственного лица инвентаризация проводится...
27072. Учет прочих доходов и расходов. Назначение счета «Прочие доходы и расходы» и его структура. Организация аналитического учета для формирования отчета «О прибылях и убытках» 23.5 KB
  Назначение счета Прочие доходы и расходы и его структура. Доходы и расходы организации формирующие финансовый результат ее деятельности В соответствии с Положением по бухгалтерскому учету Доходы организации ПБУ 9 99 введено в действие с 1 января 2000 г. Прочие поступления зачисляются на счет 91 Прочие доходы и расходы Прочими доходами признаются в учете: штрафы пени неустойки за нарушения условий договоров возмещения причиненных организации убытков в отчетном периоде в котором судом вынесено решение об их взыскании или они...
27073. Архитектура SCM-систем 174.21 KB
  Объяснить что такое ERP Что такое архитектура Как архитектура относится к классу данной системы ИСТОРИЯ В начале 60х в США начались работы по автоматизации управления запасами. В результате активного роста крупносерийного и массового производства товаров народного потребления и торговли после Второй мировой войны стало очевидно что использование математических моделей планирования спроса и управления запасами ведет к существенной экономии средств замороженных в виде запасов и незавершенного производства. Управление складами в современных...
27074. Информация в бизнесе. Инф поддержка в бизнесе. Класс-ция корпоративных информационных систем 711.94 KB
  Что такое бизнес Бизнес это экономическая деятельность направленная на систематическое получение прибыли от производства и или продажи товаров оказания услуг. Тк бизнесэто коммерческиориентировнная деятельность в конкурентной среде. Деятельность предприятия происходит в реальном физическом мире в котором протекают преимущественно энергетические процессы. Деятельность связанная с управлением предприятием анализ ситуаций выбор вариантов и иная интеллектуальная деятельность продуктом которой являются оценки и принятие решений...
27075. Системы электронного документооборота 139.67 KB
  Системы электронного документооборота 1. Что такое документооборот Документооборо́т это частный способ информационной системы обеспечивающее взаимодействие. Системы электронного документооборота обладают рядом преимуществ к числу которых можно отнести возможность однократной регистрации электронного документа параллельное выполнение необходимых операций с отслеживанием ответственного за их исполнение а также наличие эффективно организованной системы поиска документа и развитой системы отчетности. Электронный документооборот является...
27076. Стр-ра КИС. Основные функциональные задачи 921.26 KB
  Главной задачей такой системы является информационная поддержка производственных административных и управленческих процессов бизнеспроцессов формирующих продукцию или услуги предприятия то есть необходимо рассмотрение всех бизнеспроцессов и как следствие поддержка основных бизнеспроцессов. Технологическая стрра инф системы. 3уровневая архитектура: 1 подсистемы сбора хр накопления данных В каком виде может существовать Распределенные системы данных; БДболее жестко поддерживают структуру; КорпХДболее абстрагированная...
27077. Управленческие автоматизированные ИС. Концепция интегрированной управленческой АИС 249.57 KB
  Интегрированная АСУ обеспечивает согласованное и координированное решение задач с учетом временной и уровневой иерархии за счет разделения общей задачи управления по фазам планирования регулирования учета анализа а также временной иерархии задач внутри каждой фазы. В ИАСУ обеспечиваются координация процессов исследования хода производства оперативного и перспективного планирования и адаптация системы за счет изменения состава и взаимосвязей между задачами а также характера взаимодействия между ее компонентами. История развития ERP 6070...
27078. Архитектура CRM-систем 145.48 KB
  Объяснить что такое CRM Что такое архитектура Как архитектура относится к классу данной системы CRM Customer Relationship Management система управления взаимоотношениями с клиентами. CRM системы стали нужны на высоко конкурентном рынке где в фокусе стоит клиент. Главная задача CRM систем повышение эффективности бизнес процессов сосредоточенных во фронтофисе направленных на привлечение и удержание клиентов в маркетинге продажах сервисе и обслуживании независимо от канала через который происходит контакт с клиентом.