PHP добавить к имени переменной

#php #variables #for-loop

#php #переменные #for-цикл

Вопрос:

Можно ли добавить или объединить что-то в имя переменной в переменной PHP? Например:

 for($g = 7; $g <= 10; $g  ){
    for($i = 0; $i <= 4; $i  ){
        $counter = $g - 7;
        if($i != $counter){
            continue;
        } else {
            $grade.[$g] = $grades[$i];
        }
    }
}
  

Я хочу, чтобы это произошло:

 $grade7 = 0
$grade8 = 1
$grade9 = 2
$grade10 = 3
  

Комментарии:

1. Для таких целей используйте массивы

2. $$ ваш ответ

Ответ №1:

Объединяет $g с grade и делает это значение переменной, добавляя $ знак в начальной строке…

Приведенный ниже пример:

 for($g = 7; $g <= 10; $g  ){
    for($i = 0; $i <= 4; $i  ){
        $counter = $g - 7;
        if($i != $counter){
            continue;
        } else {
            ${"grade".$g} = $grades[$i];
        }
    }
}

echo $grade7; // 0
echo $grade8; // 1
echo $grade9; // 2
echo $grade10;// 3
  

Комментарии:

1. Именно то, что я искал. Спасибо

Ответ №2:

Одним из решений было бы динамическое создание переменных:

 for ($g = 7; $g <= 10; $g  ) {
    for ($i = 0; $i <= 4; $i  ) {
        $counter = $g - 7;
        if ($i == $counter) {
            ${'grade' . $g} = $grades[$i];
        }
    }
}
  

Ответ №3:

Вы должны использовать ARRAY вместо вашего метода. 🙂

Попробуйте посмотреть на переменную с именем «$$».

РЕДАКТИРОВАТЬ: может быть, что-то вроде

 var $array = array();
for($g=7; $g<=10; $g  )
{
    for($i=0; $i<=4; $i  )
    {
        $counter = $g - 7;
        if($i != $counter) continue;
        else $array[$grade.[$g]] = $grades[$i];
    }
}
  

Ответ №4:

  $data = new Array();
 for($g = 7; $g <= 10; $g  ){
        for($i = 0; $i <= 4; $i  ){
            $counter = $g - 7;
            if($i != $counter){
                continue;
            } else {
                $data[$grade.[$g]] = $grades[$i]);
            }
        }
    }
  

Комментарии:

1. $data = array(); также было бы возможно