Нужно ли помещать значение в переменную?

Студент спросил меня об этом простом вопросе, и я был очень обеспокоен, потому что не могу дать на это достаточный ответ. Я понял, что переменная - это просто контейнер, содержащий значение. Кроме того, я не могу дать им логическое объяснение.

пример:

Я хочу проверить, является ли возраст несовершеннолетним или нет. Используя переменную, я сделаю это так:

<?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 будет определяться во время выполнения каким-либо внешним фактором.

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

Ниже приведены сценарии, в которых вам нужны переменные, и в которых вам не нужны переменные. Я делюсь множеством сценариев, которые мы используем в повседневной жизни.

Где нам нужна переменная.

  • Для сравнения входных данных с любыми соответствующими данными или предыдущим вводом.
  • Результат расчета по входным данным.
  • Модификация входных данных для любого бизнес-кейса.

Где нам не нужна переменная.

  • Сравнивать любые статические данные, которые предварительно декларировать в программе.
  • Инициирована любая логика с определенным значением.
  • Требуется ограниченное или конкретное количество итераций.

Это распространено среди большинства языков / сценариев и надеюсь, что это поможет понять варианты использования для переменной.

Другие вопросы по тегам