
php函数问题
下面代码:<?php$months=array(1=>'January','February','March','April','May','June','July','...
下面代码:
<?php
$months = array (1 => 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
function make_calendar_pulldowns() {
foreach ($months as $key => $value) {
echo "<option value=\"$key\">$value</option>\n";
}
}
make_calendar_pulldowns();
?>
当我运行时,出现错误提示:
Warning: Invalid argument supplied for foreach() in D:\wamp\www\test\test.php on line 5
但当我把$months 的定义放在function里面时,就工作正常了,请问这是为什么?
$months 的定义在function里面和外面有什么区别? 展开
<?php
$months = array (1 => 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
function make_calendar_pulldowns() {
foreach ($months as $key => $value) {
echo "<option value=\"$key\">$value</option>\n";
}
}
make_calendar_pulldowns();
?>
当我运行时,出现错误提示:
Warning: Invalid argument supplied for foreach() in D:\wamp\www\test\test.php on line 5
但当我把$months 的定义放在function里面时,就工作正常了,请问这是为什么?
$months 的定义在function里面和外面有什么区别? 展开
展开全部
就是局部变量和全局变量的区别了,函数内部的是局部变量,所以在你的函数
function make_calendar_pulldowns() {
foreach ($months as $key => $value) {
echo "<option value=\"$key\">$value</option>\n";
}
}
这里面的 $months 只是个局部变量,因为php是弱语言,所以你可以在函数里面不声明 $months而直接使用,但并不影响 $months 是个局部函数的特征,你在函数里面也可以用
$months = global $months;//把全局变量的值赋进来
foreach ($months as $key => $value) {
echo "<option value=\"$key\">$value</option>\n";
}
function make_calendar_pulldowns() {
foreach ($months as $key => $value) {
echo "<option value=\"$key\">$value</option>\n";
}
}
这里面的 $months 只是个局部变量,因为php是弱语言,所以你可以在函数里面不声明 $months而直接使用,但并不影响 $months 是个局部函数的特征,你在函数里面也可以用
$months = global $months;//把全局变量的值赋进来
foreach ($months as $key => $value) {
echo "<option value=\"$key\">$value</option>\n";
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询