我又一次我不太明白的事情。 我提供以下代码:
<?php
class Helper
{
static function SelectDateTimeForm($type)
{
if($type == 'days')
{
$r .= "<select name='something'>";
for ($x = 1; $x <= 31; $x++) {
$r .= "<option value='$x'>$x</option>";
}
$r .= "</select>";
}
return $r;
}
}
?>
所以我想简单地想回到$ r变量中的整个选择内容,以便我可以通过调用SelectDateTimeForm()函数来访问它。
现在的问题是,虽然我在if语句中(也尝试使用switch case),$ r变量似乎有点疯狂。 当我离开if并在返回$ r之前直接定义$ r时,一切似乎都有效。
那么为什么我不能访问或修改if里面的$ r变量呢?为什么我得到Undefined变量通知。
感谢您的建议。
答案 0 :(得分:1)
这不是因为你有多个任务,因为你没有声明它。因此,$r
上方if()
声明。
$r = "";
if($type == 'days'){
.....
}
如果$type
不等于days
,则不会输入if()
,但您将返回未声明的$r
。
答案 1 :(得分:1)
如果要成为gloabl变量,则声明$ r
class Helper
{
static function SelectDateTimeForm($type)
{
$r = '';
if($type == 'days')
{
$r .= "<select name='something'>";
for ($x = 1; $x <= 31; $x++) {
$r .= "<option value='$x'>$x</option>";
}
$r .= "</select>";
}
return $r;
}
}