Есть переменная $value, может иметь значение от 1 до 9
Есть переменные $txt1 ...... $txt9
Как добавить к названию самой переменной $txt значение переменной $value
Допустим $value=3, нужно вывести значение переменной $txt3, если $value=5, то вывести содержимое $txt5
Прошу прощения, если не очень понятно описал суть вопроса.
Спустя 31 минута, 32 секунды (11.02.2010 - 00:24) Nikitian написал(а):
eval('echo $txt'.$value.';');
Но я бы сказал, что такой вопрос возник из-за неправильной организации проекта. Знаю только один случай, когда eval() оправданно отчасти - это решение арифметических/логических выражений.
Спустя 3 часа, 10 минут, 44 секунды (11.02.2010 - 03:35) dr_Lev написал(а):
можно еще так
// переменные
$txt1 = '__1__';
$txt2 = '__2__';
$txt3 = '__3__';
// допустим нужно вывести $txt2
$value = 2;
// собираем имя переменной 'txt2'
$txt = 'txt'.$value;
// выводим
echo $$txt;
Спустя 14 минут, 24 секунды (11.02.2010 - 03:49) qpayct написал(а):
Проще работать с массивами $txt[$value] условий станет в 9 раз меньше и никаких если
Спустя 10 часов, 29 минут, 11 секунд (11.02.2010 - 14:18) feodal24 написал(а):
Цитата (Nikitian @ 10.02.2010 - 21:24) |
Но я бы сказал, что такой вопрос возник из-за неправильной организации проекта. Знаю только один случай, когда eval() оправданно отчасти - это решение арифметических/логических выражений. |
об eval() здесь речи не идёт
вариант описанный dr_Lev отлично подходит для моей задачи.
Конечно же массивом эту задачу можно решить, но вариант со сборкой переменной работает как ни странно быстрее.
(я никак не мог правильно подобрать синтаксис для этого решения)
Огромнейшее спасибо Nikitian, dr_Lev, qpayct.
Очень приятно знать, что есть места, где помогут "заблудившемуся" человеку