| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > сгенерировать имя переменной |
| Автор: yalo 23.10.2007, 10:43 |
| здравствуйте всем такая вот вроде простая с первого взгляда задача. нужно сгенерировать имя переменной, например, пробегая по какому-нибудь массиву: foreach ($array as $key => $value), скрипт будет генерировать имя переменной таким образом: $PLACE.$key, но напрямую так разумеется ничего не получится, так как скрипт соединит ЗНАЧЕНИЯ переменных $PLACE и $key, а мне надо чтобы имя переменной генерировалось: $PLACE3, $PLACE5, где 3 и 5 это $key при прохождении массива. Затем в сгенерированную переменную будут заносится значения, в принципе не важно какие. |
| Автор: flashaa 23.10.2007, 10:48 | ||
Символическая ссылка
|
| Автор: yalo 23.10.2007, 10:54 |
| а как дальше занести в полученной что-то? во что заносить? |
| Автор: flashaa 23.10.2007, 11:07 |
| вот твоя переменная - $$name |
| Автор: yalo 23.10.2007, 11:23 |
| ничего себе а мне уже два авторитетных человека сказали, что это скорее всего нерешаемо вот спасибо-то, пребольшое с меня плюсик |
| Автор: flashaa 23.10.2007, 11:26 | ||
Все решаемо, PHP достаточно гибкий язык.
Только вот не пойму, зачем такое может понадобиться. |
| Автор: skyboy 23.10.2007, 11:30 |
точно. гораздо лучше создать ассоциативный массив. зачем усложнять себе жизнь? |
| Автор: skyboy 23.10.2007, 15:41 | ||||
| yalo, т.е. если в шаблоне всечается "{place5}" оно меняется на значение переменной $place5? может тогда в процедуре замены сделать замену не на некое $$name, а на $assoc_array[$name]? Проще будет устанавливать значения в одном массиве(особенно - проще отлаживать: можно вывести все шаблонные переменные разом), да и замена будет проще($template_vars - массив с переменными шаблона, $template - шаблон):
впрочем, я специфики не знаю, может и правда -
|
| Автор: flashaa 25.1.2008, 12:12 | ||
Кстати вспомнилось: у Котерова читал, что есть такая ф-ция, которая берет массив и создает переменные как раз как надо в данной теме. Но в мануале не нашел ее. Кто-то помнит название этой ф-ции? |
| Автор: skyboy 25.1.2008, 12:48 |
самому писать надо. из стандартных механизмов с подобным действием - директива http://www.php.net/register_globals. вот только надо ли таким заниматься? |
| Автор: SelenIT 25.1.2008, 13:23 |
extract? |
| Автор: flashaa 25.1.2008, 13:29 |
Говорю, же есть такая ф-ция: Cпасибо, а обратная ей ф-ция - compact. |