Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: составное имя переменной
 
 автор: elenaki   (06.01.2008 в 18:17)   письмо автору
 
 

допустим, есть переменная с именем $edit

надо создать в цикле еще несколько переменных с именами $edit_1, $edit_2, ...
причем, цифры берутся как значения другой переменной (счетчика цикла $j)
т.е. фактически надо получить переменную $edit_$j, только, конечно, с одним $ впереди.

забыла как это называется, псевдонимы? или как-то иначе?

массив не предлагать, надо скалярную переменную, имя которой состоит из из имени одной переменной и значения другой.

   
 
 автор: ddhvvn   (06.01.2008 в 18:24)   письмо автору
 
   для: elenaki   (06.01.2008 в 18:17)
 

Я думаю, Вм нужно eval

<?php
  $i 
5;

  eval(
"\$string_$i = \"value\";");
?>

   
 
 автор: elenaki   (06.01.2008 в 18:41)   письмо автору
 
   для: ddhvvn   (06.01.2008 в 18:24)
 

нет. там были фигурные скобки...

   
 
 автор: ddhvvn   (06.01.2008 в 18:47)   письмо автору
 
   для: elenaki   (06.01.2008 в 18:41)
 

Фигурные ксобки нужгы чтобы явно выделить переменныю в тексте.

Т.е.:

<?php 
  $i 
5

  eval(
"\$string_{$i} = \"value\";"); 
?>

   
 
 автор: elenaki   (06.01.2008 в 18:52)   письмо автору
 
   для: ddhvvn   (06.01.2008 в 18:47)
 

вот кусок кода. никакого eval там нет:


for ($i=0; $i < sizeof(${agents_.$ii}); $i++) {
        if (!${agents_.$ii}[$i]) ${agents_.$ii}[$i] = 0;
        $agents_id .= ${agents_.$ii}[$i].", ";
            if (${agents_.$ii}[$i] != 0) {
            $ag_country_query = mysql_query("select country from agents where id = '".${agents_.$ii}[$i]."'") or die (mysql_error());
            $ag_count = mysql_fetch_array($ag_country_query);
            $country_id .= $ag_count['country'].", ";
            }
        }

   
 
 автор: kasmanaft   (06.01.2008 в 19:14)   письмо автору
 
   для: elenaki   (06.01.2008 в 18:52)
 

То есть проблема решена уже?

UPD всё-таки, наверное, нет...
Попробуйте вот так:
<?php
$edit_1 
"edit";
$i 1;
echo ${
"edit_".$i};
?>

   
 
 автор: elenaki   (06.01.2008 в 19:16)   письмо автору
 
   для: kasmanaft   (06.01.2008 в 19:14)
 

нет. этот пример содран давным давно с чужого сайта. я так и не поняла, как он работает. а сейчас при подобном построении имени не получается.

вроде, это называется "динамические переменные"... продолжаю поиск.

   
 
 автор: kasmanaft   (06.01.2008 в 19:21)   письмо автору
 
   для: elenaki   (06.01.2008 в 19:16)
 

В общем, решение в предыдущем посте...
Забыл обновить страничку....

   
 
 автор: elenaki   (06.01.2008 в 19:47)   письмо автору
 
   для: kasmanaft   (06.01.2008 в 19:14)
 

получилось вот так:


$action='edit'; 
${$action.$j} = ...


где $j - счетчик цикла

(ошибка была в другом месте...)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования