За последние 24 часа нас посетили 18076 программистов и 1660 роботов. Сейчас ищут 1688 программистов ...

Переменная в переменной

Тема в разделе "PHP для новичков", создана пользователем neldalv, 5 май 2010.

  1. neldalv

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

    С нами с:
    5 май 2010
    Сообщения:
    9
    Симпатии:
    0
    Приветствую посетителей данного форума, возник один вопрос, на который не удалось найти ответ, решил обратиться сюда.

    Допустим, есть переменная, текстового типа (строка). Она содержит другую переменную. Нужно выводить первую переменную с выводом второй. Думаю, так непонятно, покажу на примере. Где-то так:
    PHP:
    1.  
    2. <?
    3. $a = '2345';
    4. $b = 'Тут какой-то текст, а дальше 1$a';
    5. echo $b;
    6. ?>
    7.  
    Каким образом записывать переменную $a в $b, чтобы скрипт на выходе напечатал "Тут какой-то текст, а дальше 12345"?
    Надеюсь, объяснил проблему ясно, заранее благодарен.
     
  2. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    $b = 'Тут какой-то текст, а дальше 1'.$a;
    оно?
     
  3. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    $b = "Тут какой-то текст, а дальше 1$a";
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    просто надо фор иросмть в конце перед самым выводом эти строки
     
  5. neldalv

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

    С нами с:
    5 май 2010
    Сообщения:
    9
    Симпатии:
    0
    Подобные варианты не прокатывают. Он так и выводит, не считая $a как переменную - просто текст.


    На всякий случай, поясню, что строки берутся через file().

    Чтобы уж все было понятно, выложу исходный код:
    PHP:
    1. <?
    2.    $text = trim($_GET['adress']);
    3.    $data = file("file.txt");
    4.    $total = count($data);
    5.    for ($x=0; $x<=$total; $x++) { echo "<a href=$data[$x]>$data[$x]</a><br><br>"; }
    6. ?>
    То есть каждый элемент массива $data (аналог $b из первого примера) содержит некоторый текст и переменную $text (Аналог $a).

    В файле пробовал разные варианты: и под двойные кавычки без обособления переменной отдельно, и с одинарными кавычками и '.$text.' - результат один и тот же.


    Чего?
     
  6. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Для кода пользуйтесь http://php.net/str_replace
    и попутно почитайте тему про Шаблонизаторы.
     
  7. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    это задумывалось как слово "формировать". Т.е. мысль в том, что готовую строку надо делать перед самой посылкой юзеру, тогда и не надо будет ничего хранить заранее.

    если конечно вас не интересовал вопрос как просто складывать текстовые переменные...
     
  8. iliavlad

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

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    neldalv
    http://www.php.net/manual/en/language.types.string.php посередине там есть Variable parsing

    а для цикла можно foreach использовать

    PHP:
    1. <?php  foreach ($data as $value) { echo "<a href=" . $value . ">" . $value . "</a><br><br>"; }
     
  9. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    вот так вот с массивами делать нельзя. Можно так
    Код (Text):
    1. "<a href={$data[$x]}>{$data[$x]}</a><
     
  10. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Но и этот вариант в случае ТС работать не будет.

    Читать никто не умеет похоже.
     
  11. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    почему не будет-то? ковычка двойная стоит
     
  12. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Жесть....

    Я настоятельно рекомендую внимательно прочитать сообщения топикстартера...
    И догадаться почему ваши "советы" не годятся.

    А ответ правильный в теме уже был.
     
  13. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а, действительно, в случае подхода ТС - такая конструкция не будет давать желаемого результата. =)
     
  14. Scorpius

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

    С нами с:
    6 май 2010
    Сообщения:
    59
    Симпатии:
    0
    Адрес:
    там уже нет
    C двойной кавычкой работает
     
  15. Simpliest

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

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Невероятно :D

    А рабочий пример применительно к коду ТСа можно сюда? :D