PHP中foreach循环内部定义变量后外部能不能直接调用?

$temp='';foreach($studentsas$v){$temp.='<ul><li>'.$v[0].'</li><li>'.$v[1].'</li><li>'... $temp = '';
foreach($students as $v){
$temp .= '
<ul>
<li>'.$v[0].'</li>
<li>'.$v[1].'</li>
<li>'.$v[2].'</li>
<li>'.$v[3].'</li>
</ul>
';
}
echo $temp;
有如上代码,当首行$temp='';被注释以后,输出到浏览器上会提示找不到变量$temp,注释取消后就OK!
请问是什么原因,没想明白!谢谢了
$students = array(
array('1101','a',23,'52819911'),
array('1102','b',21,'52819901'),
array('1103','c',22,'52819991'),
array('1104','d',24,'52819981'),
array('1105','e',26,'52819981')
);
展开
 我来答
匿名用户
2018-03-13
展开全部

一:几乎所有的程序,循环的内部变量,外部肯定是不能调用的。

  • (javascript除外,你是前端转过去写php的?javascript会把未定义的内部变量转化为公用的全局变量)

  • 所以注掉第一行后,echo $temp; 就找不到变量了。

Zjmainstay
推荐于2016-04-30 · 知道合伙人互联网行家
Zjmainstay
知道合伙人互联网行家
采纳数:580 获赞数:1129
http://www.zjmainstay.cn

向TA提问 私信TA
展开全部
当首行$temp='';被注释以后,$temp .= 'xxx';等价于:
$temp = $temp . 'xxx';  //第一次时,$temp是没有定义的,所以有错误提示

因此,首行$temp='';要保留。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式