я снова что-то не понимаю. Я предоставляю вам следующий код:
<?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 (также пытаюсь использовать его с корпусом коммутатора), переменная $ r, похоже, действует как-то сумасшедшая. Когда я оставляю if и определяю $ r непосредственно перед возвратом $ r, все работает.
Так почему я не могу получить доступ или изменить переменную $ r внутри if? И почему я получаю неопределенную переменную Уведомление.
Спасибо, совет.
Это не потому, что у вас есть несколько назначений, потому что вы не объявили об этом. Поэтому объявите $r
выше if()
.
$r = "";
if($type == 'days'){
.....
}
Если $type
не равен days
, он не будет вводить if()
, но вы возвращаете $r
который не объявлен.
объявить $ 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;
}
}