PHP: Изменение переменной
Само слово "переменная" подсказывает, что ее значение может меняться. Это одна из главных причин, почему переменные вообще существуют.
Вот простой пример:
<?php
// greeting переводится как приветствие
$greeting = 'Father!';
print_r($greeting); // => Father!
$greeting = 'Mother!';
print_r($greeting); // => Mother!Здесь мы сначала записали в переменную одну строку (Father!), потом другую (Mother!). Имя переменной не изменилось, но значение внутри стало другим.
До: $greeting ──→ 'Father!'
╳
После: $greeting ──→ 'Mother!'Зачем вообще менять значение?
В реальных программах переменные меняются постоянно. Вот несколько причин:
- Программа реагирует на действия пользователя. Например, пока вы вводите какие-то данные, в формы на сайте, они, в этот момент, вполне вероятно, постоянно меняют переменные, которые эти данные содержат
- Промежуточные результаты. Часто данные проходят через серию преобразований, и на каждом этапе переменная обновляется новым значением. Подобный механизм даже есть в калькуляторах, когда промежуточные значения сохраняются с помощью клавиш
m+илиm-. - Хранение состояния. Если вы пишете игру, то положение персонажа, его здоровье, счет и текущий уровень являются переменными, которые постоянно меняются.
Переменные создаются по мере использования
В PHP переменную не нужно "объявлять заранее": она появляется в момент, когда вы впервые записываете в нее значение:
<?php
$name = 'Arya'; // переменная создается здесьЕсли потом вы снова напишете $name = ..., это перезапишет старое значение. Так работает большинство современных языков программирования.
Почему это важно
Переменные представляют собой гибкий способ хранить данные, которые могут изменяться в процессе выполнения программы. Благодаря этому можно писать программы, которые ведут себя по-разному в зависимости от условий, действий пользователя или результатов вычислений.
Но у гибкости есть и обратная сторона. Иногда сложно сразу понять, что именно записано в переменную в тот или иной момент времени. Разработчику приходится отслеживать, где и как она изменилась, особенно если код длинный.
Именно это делают во время отладки: пытаются разобраться, почему программа работает иначе, чем задумано. Проверяют значения переменных, отслеживают порядок выполнения кода, ищут, где что-то пошло не так.
Задание
Статус заказа обновляется по мере его продвижения. В начале заказ находится «в пути», затем переходит в статус «доставлен».
В упражнении определена переменная $deliveryStatus со значением 'в пути'. Переопределите ее значение на 'доставлен' и выведите на экран.
Пример переопределения переменной:
<?php
$someVar = 'старое значение';
$someVar = 'новое значение';
print_r($someVar); // => новое значениеPHP: Изменение переменной
Само слово "переменная" подсказывает, что ее значение может меняться. Это одна из главных причин, почему переменные вообще существуют.
Вот простой пример:
<?php
// greeting переводится как приветствие
$greeting = 'Father!';
print_r($greeting); // => Father!
$greeting = 'Mother!';
print_r($greeting); // => Mother!Здесь мы сначала записали в переменную одну строку (Father!), потом другую (Mother!). Имя переменной не изменилось, но значение внутри стало другим.
До: $greeting ──→ 'Father!'
╳
После: $greeting ──→ 'Mother!'Зачем вообще менять значение?
В реальных программах переменные меняются постоянно. Вот несколько причин:
- Программа реагирует на действия пользователя. Например, пока вы вводите какие-то данные, в формы на сайте, они, в этот момент, вполне вероятно, постоянно меняют переменные, которые эти данные содержат
- Промежуточные результаты. Часто данные проходят через серию преобразований, и на каждом этапе переменная обновляется новым значением. Подобный механизм даже есть в калькуляторах, когда промежуточные значения сохраняются с помощью клавиш
m+илиm-. - Хранение состояния. Если вы пишете игру, то положение персонажа, его здоровье, счет и текущий уровень являются переменными, которые постоянно меняются.
Переменные создаются по мере использования
В PHP переменную не нужно "объявлять заранее": она появляется в момент, когда вы впервые записываете в нее значение:
<?php
$name = 'Arya'; // переменная создается здесьЕсли потом вы снова напишете $name = ..., это перезапишет старое значение. Так работает большинство современных языков программирования.
Почему это важно
Переменные представляют собой гибкий способ хранить данные, которые могут изменяться в процессе выполнения программы. Благодаря этому можно писать программы, которые ведут себя по-разному в зависимости от условий, действий пользователя или результатов вычислений.
Но у гибкости есть и обратная сторона. Иногда сложно сразу понять, что именно записано в переменную в тот или иной момент времени. Разработчику приходится отслеживать, где и как она изменилась, особенно если код длинный.
Именно это делают во время отладки: пытаются разобраться, почему программа работает иначе, чем задумано. Проверяют значения переменных, отслеживают порядок выполнения кода, ищут, где что-то пошло не так.
Задание
Статус заказа обновляется по мере его продвижения. В начале заказ находится «в пути», затем переходит в статус «доставлен».
В упражнении определена переменная $deliveryStatus со значением 'в пути'. Переопределите ее значение на 'доставлен' и выведите на экран.
Пример переопределения переменной:
<?php
$someVar = 'старое значение';
$someVar = 'новое значение';
print_r($someVar); // => новое значениеВаше упражнение проверяется по этим тестам
<?php
namespace HexletBasics\Variables\Change;
use HexletBasics\Exercise\TestCase;
class SolutionTest extends TestCase
{
public function test()
{
$expected = 'доставлен';
$this->assertOutput($expected);
}
}Решение учителя откроется через:
20:00
