функции в кавычках

yujin

Новичок
функции в кавычках

Есть функция my_func()
Как правильно написать чтобы в строках при упоминании функции использовалось ее значение а не название без использования дополнительной переменной
То есть,
PHP:
echo     "my_func($t)"
выведет "my_func(<значение переменной $t>)"
а надо "<значение функции my_func() от переменной $t>"

ps: Прошу прощения если уже было.
 

zerkms

TDD infected
Команда форума
eval(), но это очень плохая практика, так лучше не делать

можно:
1. $a = 'my_func'; $a($t);
2. [m]call_user_func[/m], [m]call_user_func_array[/m]
 

yujin

Новичок
=) нет
просто конкретный пример:
надо вставить текст формы (скажем из полей 10) в переменную $text
и учитывая слеши, другие кавычки, очень легко запутаться.
 

Армян

Новичок
Насчет глючите вопрос наверно больлше к zerkms :)

yujin
непонятно в чем проблема :) пример что я дал помог?)
 

yujin

Новичок
использую тривиальные шаблоны:
страничка
PHP:
 <html><?=$text?></html>
(совсем утрировано, тк есть еще куча всего), которая в конце подключается с помощью include
а в основном файле:

PHP:
...запрос бд...
for($i=0;$i<$row;$i++){
	$f=mysql_fetch_array($r);		
...
	$url=substr($f[url],0,9)."...";
	$text.="
<tr>
<td><a href=\"$f[url]\">$url</a></td>	
</tr>
...
	";
           
}
И вот здесь как раз вопрос касательно $url. Это маленький кусок большой таблицы. И запутаться не очень то хочется.
ps: Конечно не идеально, но другого варианта не знаю, из-за недостатка опыта (как с шаблонами, так и с данной темой)
 

zerkms

TDD infected
Команда форума
Армян
научись читать, угу?. человек имя функции получает откуда-то снаружи...

Насчет глючите вопрос наверно больлше к zerkms
наверно, или ко мне? или ты сам не понимаешь что и кому пишешь?
 

Армян

Новичок
zerkms
покажи хоть одно слово из первого поста, которое говорит что он имя ф-ии получает снаружи, ага?

Вопрос и к стартеру и к тебе, но больше к тебе!
 

yujin

Новичок
zerkms
Армян прав.

Мне нужно просто взять и использовать функцию, стандартную или написаную, имя которой известно. В моем примере функция substr()
 

zerkms

TDD infected
Команда форума
yujin
тогда какого хера в первом посте ты пишешь что имя у тебя содержится в строке?????
 

yujin

Новичок
А я такого и не писал. Я написал что при использовании кавычек, echo выводит не значение функции а ее название
 

yujin

Новичок
Прошу прощения, согласен, не конкретно выразился.
Итак повторюсь с примером:
Можно ли как нибудь сделать чтобы после
PHP:
$text.="substr($f[url],0,9)";
$text содержало не "substr(<значение переменной $f>,0,9)" а уже обрезанную строку?
 

Армян

Новичок
zerkms
Согласен по описанному можно подумать что ф-я берется снаружи, но я больше на приведенный пример смотрел, по примеру понятно что он имя ф-ии знает.

-~{}~ 15.08.08 14:15:

yujin
я тебе пример привел, по нему все понятно
 

yujin

Новичок
И вопрос в догонку с ковычками
Если писать с одинарными ковычками
$text.="$f['url']", то выводится ошибка.
Но однако правильный вариант доступа к элементами массива как раз такой и есть $f['url']
 

dimagolov

Новичок
yujin, да не нужен тебе этот бред с ф-ями, которые в строке. все что тебе надо - конкатенация строки, вызова ф-ии и еще строки, как написал Армян
PHP:
<?php
...
$text= "my text".my_func($t)." kuku";
....
?>
....
 <html><?=$text?></html>
 

Фанат

oncle terrible
Команда форума
yujin
ты можешь объяснить, почему ты пишешь
$text.="substr($f,0,9)"; А НЕ ПО-ЧЕЛОВЕЧЕСКИ - $text.=substr($f[url],0,9); ?
 

yujin

Новичок
Изза того что бы не запутаться с кавычками в формулах, заслшешиванием. как например. Поэтому и искал есть ли такой вариант, правильный ли он. изза неопытности.
Всем спасибо. =)
 
Сверху