php - 是否有必要将值放入变量中?

标签 php algorithm

我被一个学生问过这个简单的问题,我很苦恼,因为我无法提供足够的答案。我的理解是,变量只是一个包含值的容器。除此之外,我无法向他们提供合乎逻辑的解释。

例子:

我想检查一个年龄是否未成年人。通过使用变量,我将以这种方式实现:

<?php 
$age = 30;
if( $age > 18)
   echo 'You are no longer a minor';
?>

但是,在不使用变量的情况下,我可以这样做:

<?php  
if( 30 > 18)
   echo 'You are no longer a minor';
?>

如果两个脚本产生相同的输出,那么我们为什么要把它放在一个变量中,因为实际上,我们可以减少我们不会使用变量的代码。还有,是否有必要将值放入变量中?

它会影响计算机的内存吗?

最佳答案

的确,变量是一个“保存”值的容器,但当变量保存的值在代码的不同执行过程中发生变化时,它的威力就体现出来了。

在 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
$

关于php - 是否有必要将值放入变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46560088/

相关文章:

php - 如何从 mysql 获取客户 ID,然后将其存储在 session 变量中以使用另一个文件中的 session 变量来检索信息

php - 使用 codeigniter 验证电子邮件

php - PHP中的错误处理并重定向到错误页面

python - 为什么我不能在 pandas 函数中应用 shift?

algorithm - 将玩家分为 "winners"和 "losers": how to prove that greedy solution gives optimal result?

javascript - 使用 PHP、javascript 和 HTML 的 MySQL 安全性?

algorithm - 我对幂函数中的递归感到困惑

python - Python中列表列表的简单聚类

c++ - 数组中元素的组合返回总和

php - 在 laravel 5.4 中加入查询