Вы можете использовать строку для объявления переменной, которая называется переменные переменной
while($row = $res->fetch_assoc()) {
foreach ($row as $key => $value)
$$key = $value;
// ^----------------------notice the double dollar
}
Или вы можете использовать extract
while($row = $res->fetch_assoc()) {
extract($row);
}
Чтобы убедиться, что вы не хотите перезаписывать некоторые уже существующие переменные, вы можете добавить к ним префикс.
while($row = $res->fetch_assoc()) {
foreach ($row as $key => $value)
$someNicePrefix_{$key} = $value;
// ^----^-------------notice the curly brackets
}
Используя extract, вы можете добавить дополнительные параметры (описано в документации, связанной выше)
while($row = $res->fetch_assoc()) {
extract($row, EXTR_PREFIX_ALL, "someNicePrefix");
}
Оба метода будут иметь одинаковый эффект.Обратите внимание, что для извлечения между префиксом и именем переменной
будет вставлен символ
_
.