назначение нескольких переменных, вызывающее неопределенную переменную

я еще раз кое-что, что я не совсем понимаю.
Я предоставляю вам следующий код:

<?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;
}
}
?>

Поэтому я просто хочу вернуться к целому объекту select внутри переменной $ r, чтобы я мог получить к нему доступ, вызвав функцию SelectDateTimeForm ().

Проблема сейчас в том, что, хотя я нахожусь в операторе if (также пытаюсь сделать это с переключателем), переменная $ r, кажется, действует как-то безумно.
Когда я оставляю if и определяю $ r непосредственно перед возвращаемым $ r, кажется, что все работает.

Так почему я не могу получить доступ или изменить переменную $ r внутри if? И почему я получаю уведомление о неопределенной переменной.

Спасибо за совет.

1

Решение

Это не потому, что у вас есть несколько назначений, а потому, что вы не объявили его. Так объявляю $r выше if(),

$r = "";
if($type == 'days'){
.....
}

Если $type не равно daysне войдет if(), но вы возвращаетесь $r который не объявлен.

1

Другие решения

объявляйте $ r раньше, если переменная gloabl

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;
}
}
1

По вопросам рекламы [email protected]