Нужно ли помещать значение в переменную?
Студент спросил меня об этом простом вопросе, и я был очень обеспокоен, потому что не могу дать на это достаточный ответ. Я понял, что переменная - это просто контейнер, содержащий значение. Кроме того, я не могу дать им логическое объяснение.
пример:
Я хочу проверить, является ли возраст несовершеннолетним или нет. Используя переменную, я сделаю это так:
<?php
$age = 30;
if( $age > 18)
echo 'You are no longer a minor';
?>
Но без использования переменной я могу сделать это так:
<?php
if( 30 > 18)
echo 'You are no longer a minor';
?>
Если два скрипта выдают один и тот же результат, то зачем нам помещать его в переменную, потому что на самом деле мы можем уменьшить код, поскольку не будем использовать переменную. А также, необходимо ли поместить значение в переменную?
Влияет ли это на память компьютера?
4 ответа
Это правда, что переменная - это контейнер, который "содержит" значение, но его сила возникает, когда значение, которое содержит переменная, варьируется в зависимости от выполнения вашего кода.
В примере, представленном OP, $age жестко задан как 30, поэтому нет смысла сохранять его в переменной для последующего сравнения.
Однако этот слегка надуманный пример вряд ли можно найти в реальной жизни. Вместо этого страница, скорее всего, предложит пользователю указать его возраст, а затем назначит ответ переменной $ age.
Один и тот же код будет выполняться для каждого конечного пользователя, и в зависимости от его ответов страница ответит, что они больше не являются второстепенными, или она будет молчать.
Например:
#!/usr/bin/env php
<?php
$age = (int)readline("How old are you?"); // Prompt for a string and convert it to an integer
if( $age > 18)
echo 'You are no longer a minor';
?>
Который отвечает так:
$ ./askage.php
How old are you?30
You are no longer a minor
$ ./askage.php
How old are you?12
$
Ответ здесь заключается в том, что возраст любого допустимого использования будет зависеть от некоторой формы ввода (пользовательский ввод, выбор базы данных, вызов веб-службы и т. Д.), Который будет храниться в переменной для продолжения работы с остальной логикой. Ваш пример здесь пытается фальсифицировать ввод, устанавливая переменную в предопределенное значение, что очень круто и модно для примеров, но в нормальных ситуациях вы бы прочитали это значение откуда-то, отсюда и переменная
Переменные являются заполнителями в алгоритме. Возьмите стереотипный математический случай "решения для X". Здесь X является частью алгоритма, но вы не знаете точное значение X и / или результат изменения алгоритма при замене X на разные значения. То же самое относится и к программированию:
if (30 > 18)
Хорошо, хорошо, этот код, безусловно, что-то делает, но то, что он делает, предопределено. 30
всегда будет больше, чем 18
Так какой смысл писать это утверждение? Вы можете просто пропустить это.
if ($age > 18)
Это теперь вводит переменную, значение которой определяется в другом месте, и этот алгоритм будет давать другой результат в зависимости от конкретного значения $age
как ты это делаешь. Если вы просто жестко закодировали значение $age
ну… ну, это тоже не очень интересно, но, по-видимому, в реальном мире ценность $age
будет определяться во время выполнения каким-либо внешним фактором.
В приложении и программе использование любой переменной полностью зависит от природы вашего алгоритма, если входные данные, которые вы получаете в свое приложение, являются динамическими по своему характеру, то лучше использовать переменную, но если входной статический параметр & останется неизменным для каждой итерации, то вы можете напрямую назначьте это вашей логике.
Ниже приведены сценарии, в которых вам нужны переменные, и в которых вам не нужны переменные. Я делюсь множеством сценариев, которые мы используем в повседневной жизни.
Где нам нужна переменная.
- Для сравнения входных данных с любыми соответствующими данными или предыдущим вводом.
- Результат расчета по входным данным.
- Модификация входных данных для любого бизнес-кейса.
Где нам не нужна переменная.
- Сравнивать любые статические данные, которые предварительно декларировать в программе.
- Инициирована любая логика с определенным значением.
- Требуется ограниченное или конкретное количество итераций.
Это распространено среди большинства языков / сценариев и надеюсь, что это поможет понять варианты использования для переменной.