我不明白在函数中使用函数时如何排序。
function funcChild(){
echo "Sparta";
}
function funcMain($panic){
echo "This is $panic";
}
funcMain(funcChild());
输出:
SpartaThis is
我只想输出“这是斯巴达”。
答案 0 :(得分:1)
然后你需要return
来自函数的值,这样就可以将它传递给下一个函数,而不是echo
它就在那里。
答案 1 :(得分:1)
echo
和return
不相同。当你回应某些东西时,会立即打印,而不是存储在任何地方。代码执行时,funcChild()
首先执行,因为funcMain()
正在尝试将其用作参数。 funcChild()
将“Sparta”回显到屏幕,然后不返回funcMain()
使用的任何内容。这意味着funcMain()
在没有输入的情况下运行。
将echo "Sparta"
更改为return "Sparta"
function funcChild(){
return "Sparta";
}
function funcMain($panic){
echo "This is $panic";
}
funcMain(funcChild());
答案 2 :(得分:0)
function funcChild(){
return "Sparta";
}
function funcMain($panic){
echo "This is $panic";
}
funcMain(funcChild());
答案 3 :(得分:0)
这就像数学一样,它从内到外开始,你必须生成一个返回而不是直接打印
function funcChild(){
return "Sparta"; // return ... not direct print!
}
function funcMain($panic){
echo "This is $panic";
}
funcMain(funcChild());
答案 4 :(得分:0)
为什么不将代码更改为:
function funcMain($panic) {
echo "This is $panic";
}
并且完成了吗?我看不出你为什么想要或者需要做你正在尝试的任何理由。但是,您获得结果的原因是因为对funcChild的调用是作为funcMain的参数发生的。因此,首先执行funcChild,然后执行funcMain。
如果你必须做你想做的事,那么 funcChild(funcMain())应该是怎么做的。