首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在PHP上使用相同的变量名可以吗?

在PHP上使用相同的变量名可以吗?
EN

Stack Overflow用户
提问于 2017-04-30 18:25:33
回答 6查看 104关注 0票数 1

我只是想知道我是否可以使用下面的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$query = mysqli_query($db, "SELECT * FROM myTable1")

while($result = mysqli_fetch_assoc($query)){
   $temp = $result['id'];
}

然后,我获取另一个表,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$query = mysqli_query($db, "SELECT * FROM myTable2")

while($result = mysqli_fetch_assoc($query)){
   $temp = $result['id'];
}

我使用相同的变量$result$temp

我的意思是可以使用这样的代码吗?我是否应该像$result1$result2等一样对变量进行不同的命名?

比方说,在使用相同的变量名称和为变量指定不同的名称之间,哪一个更好、更安全?

我希望有人能解释一下这件事。

之前谢谢你。

EN

回答 6

Stack Overflow用户

发布于 2017-04-30 18:38:24

如果你遵循SOLID原则,特别是single responsibility principle希望你将功能隔离到不同的功能中。

如果你真的应用了这一点,那么你实际上并没有使用相同的变量,因为在这一点上会有不同的作用域,因此这不是一个问题。

简而言之,你不应该重用变量,如果你的逻辑被分解成执行单个任务的函数,请不要将它们命名为$result1result2等。这是code smell在你的项目中的标志。

票数 1
EN

Stack Overflow用户

发布于 2017-04-30 18:31:29

如果您已经完成了myTable1,那么它完全可以,但是如果您打算在代码中的其他地方使用它,则不可以,因为只有myTable2信息将被保存在$result中

票数 -1
EN

Stack Overflow用户

发布于 2017-04-30 18:44:59

如果您使用相同的变量来存储数据,那么每次迭代时,变量值都会被新值覆盖,而while语句之后的值就是最后一次迭代。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43709840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文