【发布时间】:2010-09-29 14:53:33
【问题描述】:
我尝试在这样的字符串中调用foo():
echo "This is a ${foo()} car";
function foo() {
return "blue";
}
但是,它最终会出现语法错误。
我找到了 here 类似的东西,但不是我需要的:
echo "This is the value of the var named by the return value of getName(): {${getName()}}";
这样可以吗?
【问题讨论】:
-
没有一个理由这样做
-
为什么不呢?我认为以下语法非常有用:
"My name is $name, and I'm $age years old"。当然,我也可以这样做:"My name is " . $name . ", and I'm " . $age . " years old",但第一个变体看起来更好。我想知道我是否可以对get_name()和get_age()函数做同样的事情。 -
对于变量,这样是可能的,对于函数,这是不可能的。抱歉,我不知道为什么。
-
我不认为它看起来更好。事实上,我认为它看起来更糟,因为它需要您在心理上解析字符串中的变量。此外,它还具有
"I would like to link $foo->$bar"的含义模糊不清的含义。那应该做什么?字面意思是$foo . '->' . $bar?$foo->$bar?$foo . '->$bar'?就是这种模棱两可,我无法忍受。"foo: $foo"可能看起来更干净,但我认为它的可读性要差得多恕我直言......