За последние 24 часа нас посетили 49885 программистов и 1730 роботов. Сейчас ищут 658 программистов ...

Переменные переменных

Тема в разделе "Прочие вопросы по PHP", создана пользователем literator, 31 янв 2013.

  1. literator

    literator Активный пользователь

    С нами с:
    29 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    методом post пересылаю на страницу некую переменную "st1_1". при написании "echo $_POST['st1_1']" переменная выводится, но вот при таком написании ничего не выходит. Помогите
    <?php
    $v='_POST["st1_';
    $v1='1"]';
    echo ${$v.$v1};
    ?>
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    А нафига ты так делаешь?
     
  3. literator

    literator Активный пользователь

    С нами с:
    29 янв 2013
    Сообщения:
    18
    Симпатии:
    0
    Приходить должно некоторое кол-во переменных: st1_1 st1_2 и т.д. Имена этих переменных идентичны и различимы лишь конечной цифрой. Сколько будет переменных определяет переменная "y". Задается цикл, отталкиваясь от переменной "y", выдает переменные st1_1 st1_2 st1_3 и т.д. вот поэтому и нужно, чтобы в цикле выдавалось переменных st1_... кол-во равное "y"
     
  4. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Я все еще нихрена не понял. Пересылай постом массив и не парь себе мозг.
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    нет. это не правда. колиество их определяется НАЛИЧИЕМ в $_POST;

    в цикле можено делать так
    Код (PHP):
    1. $_POST['st' . $i . '_' . $j]
    при этом если будешь называть свои инпуты так:
    <input name="st[1][5]">
    то сможешь перебирать их в удобном цикле
    Код (PHP):
    1. foreach ($_POST['st'] as $key1=>$val1) {
    2.   foreach ($val1 as $key2=>$val2) {
    3.     echo "элемент st $key1 $key2<br>\n";
    4.   }
    5. }
    6.