За последние 24 часа нас посетили 30889 программистов и 1445 роботов. Сейчас ищут 823 программиста ...

Переменная строке.

Тема в разделе "PHP для новичков", создана пользователем oleg_, 13 ноя 2016.

  1. oleg_

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

    С нами с:
    28 ноя 2012
    Сообщения:
    108
    Симпатии:
    2
    Mkramer, извини что туплю, но реально никак не пойму:(
    а без полного понимания как то пальцем в небо получается...
    Про строковые константы вразумительной информации не нашел.
    Ты говоришь "в том числе - при возврате из функции", это как понимать?
    интерпретатор видит что строка получена из функции и поэтому рассматривает строку как константу?
    Хоть убейте не врублюсь никак.
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты просто выводишь строку. в этой строке есть доллар и две буквы эр. Это не переменная. Это набор байтов. Чтобы она стала переменной, нужно, чтобы строку сожрал интерпретатор и интерпретировал. А не просто вывел. Он не интерпретирует все символы при выводе. Он их просто выводит. А интерпретирует пхп-файлы.

    Есть функция eval(), но она опасна до чертиков.

    Я тебе рекомендую плейсхолдеры типа %alala% и подстановку из массива по ключам.
     
  3. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Совсем по простому. Переменные подставляются в строки только когда буквально так написано в исходном тексте программы:
    Код (Text):
    1. $a = 12;
    2.  
    3. $b = "$a это хорошо";
    У тебя в коде просто некий метод возвращает уже готовую строку '$r чегой-тотам'. В этом случае интерпретатор воспринимает её как есть, точно так же, как если бы она была в одинарных кавычках в коде программы. Так понятно?
     
  4. oleg_

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

    С нами с:
    28 ноя 2012
    Сообщения:
    108
    Симпатии:
    2
    Понятно, если доллар и две буквы r пришли в функцию из вне то это не переменная а просто доллар и две буквы r
    как будто там есть невидимые кавычки. Так и запишем:)
     
  5. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    А ты раньше программировал?
     
  6. oleg_

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

    С нами с:
    28 ноя 2012
    Сообщения:
    108
    Симпатии:
    2
    На любительском уровне, время от времени.