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

前端之家收集整理的这篇文章主要介绍了在foreach循环中声明的PHP变量是否在每次迭代中被破坏并重新创建?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我在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.

猜你在找的PHP相关文章