Forum Webscript.Ru

Программирование => PHP => Тема начата: Pr0Head от 29 Марта 2002, 13:26:37

Название: Как создать переменные на лету?
Отправлено: Pr0Head от 29 Марта 2002, 13:26:37
Приветствую!

У меня в БД есть таблица, в ней есть около 60 полей: id, name, company  и т.д. Мне нужно выбрать одну запись из таблицы (это я умею :)) и создать имена переменных по названию этих полей.

То есть, у меня при выборке получается массив:
$myrow["id"];
$myrow["name"];
$myrow["company"];
и т.д.

а мне нужно, чтоб было так:
$id = $myrow["id"];
$name = $myrow["name"];
$company = $myrow["company"];
и т.д.

Можно конечно их всех так прописать, но ИМХО неудобно, т.к. их много. Может это как-то можно автоматизировать?
Название: Как создать переменные на лету?
Отправлено: Fury от 29 Марта 2002, 13:54:19
Ну, если я все правильно поняла, то можно так:

foreach ($myrow as $key => $value){
   $$key = $value;
};
Название: Как создать переменные на лету?
Отправлено: Макс от 29 Марта 2002, 14:12:08
extract(mysql_fetch_array($result))
Название: Как создать переменные на лету?
Отправлено: Pr0Head от 29 Марта 2002, 14:23:15
Точно.

Работают оба метода. Спасибо!
Название: Как создать переменные на лету?
Отправлено: AlieN от 02 Апреля 2002, 14:58:17
Метод fury лично для меня понятнее. Макса - красивее.
А по производительности одниково примерно до 2000-3000 записей потом конечно extract быстрее пашет гораздо
Название: Как создать переменные на лету?
Отправлено: Dm от 02 Апреля 2002, 19:30:19
AlieN
лучше использовать extract, т.к. тот же цикл производится внутри php.
Прежде всего, производительность.

http://www.php.net/manual/en/function.extract.php
Название: Exactly
Отправлено: Kuulest от 09 Апреля 2002, 21:21:35
Цитировать
AlieN
лучше использовать extract, т.к. тот же цикл производится внутри php.
Прежде всего, производительность.

http://www.php.net/manual/en/function.extract.php


Soglasen s Dm na vse 100. Po vozmojnosti , luchshe vsegda ispolzovat vnutrenniye funkzii...