【发布时间】:2023-03-31 01:51:01
【问题描述】:
我是PHP新手,不明白为什么下面代码的最终结果是'233'而不是'231',foreach中的$a不是临时变量吗?
<?php
$a = '1';
$c = array('2', '3');
foreach($c as $a){
echo $a ;
}
echo $a;
?>
有人可以帮忙吗?谢谢。
2014 年 11 月 28 日更新
现在我知道我的问题是什么了。正如公认的答案和this answer 指出的那样,foreach 和while 都不像functions,它们只是像$a='3'; 一样的普通句子。所以现在我知道这是我的误解,这不仅仅是关于php,因为我在 python 中尝试过,它是一样的。
a = 123
b = [1, 2, 3]
for a in b:
print a
print a
【问题讨论】:
-
因为您在 while 循环中重新声明了 $a .. 使其成为数组的最后一个值..
-
@Naruto 所以你的意思是 $a 不像临时变量?
-
@Naruto 小姐理解。(_)。谢谢
-
是的。如果你改变 $b = '1' 并在最后部分回显 $b,那么你得到 231。
标签: php python for-loop while-loop