Относительно вашего редактирования: это делает ваш код менее понятным.
На самом деле, уже существует функция, которая делает это: extract()
.
while (($row = mysql_fetch_assoc($result))){
extract($row);
// ...
}
extract()
еще лучше, потому что он позволяет вам указать, что должно произойти, если переменная уже существует, и / или позволяет указать префикс (чтобы вы не перезаписывали уже существующие переменные с этим именем).Например, вы можете сделать:
extract($row, EXTR_PREFIX_ALL, 'db');
, что приведет к $db_first_name
и т. Д.
Конечно, extract()
также выполняет некоторую внутреннюю работу здесь, но использование встроенных функций всегдалучше, чем создавать свой собственный.
Другой возможностью будет использование list()
:
while (($row = mysql_fetch_row($result))){
list($first_name, $last_name, $address) = $row;
// ...
}