加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在foreach循环中声明的PHP变量是否在每次迭代中被破坏并重新创建

发布时间:2020-12-13 13:39:05 所属栏目:PHP教程 来源:网络整理
导读:如果我在foreach循环中声明一个变量,例如: foreach($myArray as $myData) { $myVariable = 'x';} PHP是否销毁它,并在每次迭代时重新创建它?换句话说,明智的做法是做得更聪明: $myVariable;foreach($myArray as $myData) { $myVariable = 'x';} 提前感谢您
如果我在foreach循环中声明一个变量,例如:
foreach($myArray as $myData) {
    $myVariable = 'x';
}

PHP是否销毁它,并在每次迭代时重新创建它?换句话说,明智的做法是做得更聪明:

$myVariable;
foreach($myArray as $myData) {
    $myVariable = 'x';
}

提前感谢您的见解.

在你的第一个例子中:
foreach($myArray as $myData) {
    $myVariable = 'x';
}

$myVariable是在第一次迭代中创建的,而不是在每次进一步的迭代中被覆盖.在离开您的脚本,功能,方法,…的范围之前,它不会随时被销毁

在你的第二个例子中:

$myVariable;
foreach($myArray as $myData) {
    $myVariable = 'x';
}

$myVariable在任何迭代之前创建,并设置为null.在每次迭代期间,如果将被覆盖.在离开您的脚本,它不会随时被销毁

更新

我错过了主要的区别.如果$myArray为空(count($myArray)=== 0)$myVariable将不会在您的第一个示例中创建,但在第二个示例中,将会使用值为null.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读