За последние 24 часа нас посетил 195681 программист и 2151 робот. Сейчас ищут 2104 программиста ...

Здравствуйте, подскажите по именам переменных

Тема в разделе "PHP для новичков", создана пользователем A.B.C., 6 мар 2010.

  1. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    PHP:
    1.  
    2.  
    3. $a="Переменная a";
    4. $i_a="Получилось!";
    5. printf ($a);
    6. echo "--------------------";
    7. $s=print ("\$i_\$".a);// Глупая конечно строчка, но что-то в этом роде...
    8. printf ($s);
    9.  
    10.  
    Смысл такой, есть первая переменная скажем $astra
    и есть вторая переменная $i_astra
    так вот в имени второй переменной "astra" - это имя первой переменной, подскажите можно ли как то вытянуть имя первой переменной и прибавить ее к "$i_", чтоб получилась новая переменная (именно новая переменная, а не просто строка), т.е. сделать такую вот зависимость?
     
  2. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    Ну вообще смысл такой, есть таблицы в БД
    PHP:
    1.  
    2. $inauto= mysql_query ("SELECT id_naz_inauto, n_naz_inauto FROM nz_inauto ", $bd);
    3. $i_inauto = mysql_fetch_array ($inauto);
    4. $otauto= mysql_query ("SELECT id_naz_otauto, n_naz_otauto FROM nz_otauto ", $bd);
    5. $i_otauto = mysql_fetch_array ($otauto);
    6. $moto= mysql_query ("SELECT id_naz_moto, n_naz_moto FROM nz_moto ", $bd);
    7. $i_moto = mysql_fetch_array ($moto);
    8.  
    У всех у них почти одинаковые названия полей отличаются начальными символами т.е. например id_naz_otauto и id_naz_inauto, или $i_inauto и $i_otauto, чтобы не писать отдельно массивом или таблицей элементы запрсов а сделать цикл используя лишь один массив array ("inauto", "otauto", "moto");

    реально же и элементов таблицы nz_inauto (например) и самих таблиц очень много поэтому и хотел сделать цикл меняя лишь "inauto", "otauto", "moto" т.к. все остальное и запросы будут абсолютно одинаковыми.
     
  3. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    Другими словами есть ли способ в PHP динамически менять имя переменной? ...есть массив скажем


    PHP:
    1. $xxx = array ("inauto", "otauto", "moto");

    есть в БД таблицы nz_inauto, nz_otauto, nz_moto

    таблицах есть поля cоответственно:

    id_naz_inauto, n_naz_inauto - в таблице nz_inauto
    id_naz_otauto, n_naz_otauto - в таблице nz_otauto
    id_naz_moto, n_naz_moto - в таблице nz_moto

    т.е. нельзя сделать что то такое?:

    PHP:
    1. $xxx[]= mysql_query ("SELECT id_naz_[], n_naz_[] FROM nz_[] ", $bd);
    2. $i_$xxx[] = mysql_fetch_array ($($xxx[]));

    понятно что строчка выше неккоректная, но смысл я думаю понятен?
     
  4. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    делать запросы в цикле
     
  5. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    это я понял, но как создать переменные? Возможно ли это?
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    PHP:
    1. <?php
    2. $vn = 'name';
    3. $$vn = 'Vasya';
    4. echo $name;
     
  7. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    A.B.C.
    массив
     
  8. A.B.C.

    A.B.C. Активный пользователь

    С нами с:
    3 мар 2010
    Сообщения:
    109
    Симпатии:
    0
    Всем большое спасибо, вопрос снят, сделал немного другим путем.