Задать вопрос
@KitOsorgin

Как сделать ссылку на переменную функции в строковом аргументе?

Добрый день! Возник довольно примитивный вопрос, ответ на который, к сожалению, не удалось найти ни в мануалаха , ни в гугле. Суть проблемы в следующем. Имеется некий метод, который принимает в качестве аргумента некую строку.

function test($str){
            $a=5;
            $b=$str;
            return $b;
}


При вызове данного метода мне необходимо передать строку, в которой будет место для переменной $a, имеющейся в методе. То есть, условно это выглядело бы так:
$result=$obj->test("Моя строка $a");

Естественно, в таком виде PHP пытается сразу же подставить значение переменной $a, вставить в аргумент, и отправить все как обычную строку. Если использовать одинарные кавычки то $a, конечно, уйдет как обычный текст в строке.

Конечно, есть функции "printf" и "vsprintf", нов данном случае они мне не подходят - поскольку для меня важно оставить максимально возможное количество вариаций передаваемого в функцию аргумента $str.

Собственно, вопрос в том, возможно ли в аргументе функции корректно сослаться на переменную, которая будет рассчитана уже во время исполнения функции, и если да, то как проще всего это реализовать?
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой 4 комментария
Решения вопроса 1
Stimulate
@Stimulate
могу
function test($str) {
            $a=5;
            $b=str_replace('$a', $a, $str);
            return $b;
}

echo test('Моя строка $a');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы