传递函数时通过函数传递变量
我不太确定这是叫什么或如何搜索它,所以希望这没有被问过太多次。传递函数时通过函数传递变量
是否有可能一个变量传递给函数的变量里面的东西一个函数...我知道,没有什么意义,所以这里有一个例子:
sendContact('Firstname Lastname', $email, $address);
function sendContact(splitWord($name), $email, $address) {
//code here
print_r($name);
//result array[0] = 'Firstname';
//result array[1] = 'Lastname';
}
function splitWord($name) {
//code here to split words
return $result
}
所有我在寻找是sendContact(splitWord())
部分。有没有办法做到这一点,因为这似乎并不奏效。
是的。不要把定义中的函数调用,把它的执行就像这样:
function sendContact($name, $email) {
}
function splitWord($name) {
return $result;
}
sendContact(splitWord($name));
当然..哇,我真不敢相信这并没有过我的脑海。它一定是一天中的那个时间。 – LeeR 2013-05-08 04:28:19
不是。最直接的解决方案可能是一个简单的包装功能:
function sendAndSplitContact($name, $email, $address) {
return sendContact(splitWord($name), $email, $address);
}
也许你可以在通话过程中打电话给你的其他功能为你的主..见一个例子:
function sendContact($name, $email, $address) {
//code here
print_r($name);
//result array[0] = 'Firstname';
//result array[1] = 'Lastname';
}
function splitWord($name) {
//code here to split words
return explode (" ",$name); // Different, but made to prduce an array to show that it works
}
sendContact(splitWord('Firstname Lastname'), $email, $address);
我曾经在同一时期被称为splitWord()
功能我打电话sendContact();
功能
为什么不直接从你删除一些工作吗?
sendContact('Firstname Lastname', $email, $address);
function sendContact($name, $email, $address) {
$name = splitWord($name); // put inside to not duplicate for each call
//code here
print_r($name);
//result array[0] = 'Firstname';
//result array[1] = 'Lastname';
}
function splitWord($name) {
//code here to split words
return $result;
}
'return $ result'上的语法错误 – 2013-05-08 03:13:06
@Daryl Gill固定,thanx。 – BlitZ 2013-05-08 03:13:47
如果你是'真正的程序员',那么写这样的代码是不好的做法。如果函数内涉及很多函数,则应该使用OOP方法。
class Email
{
function splitWord($name)
{
// the jobs of split
}
function sendContact($name, $email, $address)
{
$receiver = $this->split($name);
mail($receiver, $email, $address);
}
}
没了,但你可以叫splitWord()sendContact的()内 – 2013-05-08 03:06:53