Php 传递给函数时通过函数传递变量

Php 传递给函数时通过函数传递变量,php,Php,我真的不知道这叫什么,或者如何搜索它,所以希望这之前没有被问过很多次 是否有可能将变量传递给函数变量中的函数。。。我知道这没有道理,所以这里有一个例子: sendContact('Firstname Lastname', $email, $address); function sendContact(splitWord($name), $email, $address) { //code here print_r($name); //result array[0] =

我真的不知道这叫什么,或者如何搜索它,所以希望这之前没有被问过很多次

是否有可能将变量传递给函数变量中的函数。。。我知道这没有道理,所以这里有一个例子:

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 sendAndSplitContact($name, $email, $address) {
  return sendContact(splitWord($name), $email, $address);
}

不是真的。最简单的解决方案可能是一个简单的包装函数:

function sendAndSplitContact($name, $email, $address) {
  return sendContact(splitWord($name), $email, $address);
}

对。不要将函数调用放入定义中,将其放入执行中,如下所示:

function sendContact( $name, $email ) {

}
function splitWord( $name ) {
  return $result;
}

sendContact( splitWord( $name ) );

对。不要将函数调用放入定义中,将其放入执行中,如下所示:

function sendContact( $name, $email ) {

}
function splitWord( $name ) {
  return $result;
}

sendContact( splitWord( $name ) );

也许您可以在调用main时调用其他函数。。请参见一个示例:

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);

在调用
sendContact()的同时,我调用了
splitWord()
函数函数

也许您可以在调用main时调用其他函数。。请参见一个示例:

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);

在调用
sendContact()的同时,我调用了
splitWord()
函数功能

为什么不删除一些工作呢

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;
}

为什么不从你身上除掉一些工作呢

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;
}

如果你是“真正的程序员”,那么写这样的代码是不好的。如果函数中涉及很多函数,那么应该使用OOP方法

class Email
{

    function splitWord($name)
    {
         // the jobs of split
    }

    function sendContact($name, $email, $address)
    {
         $receiver = $this->split($name);
         mail($receiver, $email, $address);
    }
}

如果你是“真正的程序员”,那么写这样的代码是不好的。如果函数中涉及很多函数,那么应该使用OOP方法

class Email
{

    function splitWord($name)
    {
         // the jobs of split
    }

    function sendContact($name, $email, $address)
    {
         $receiver = $this->split($name);
         mail($receiver, $email, $address);
    }
}

不,但您可以在sendContact()的内部调用splitWord(),不,但您可以在sendContact()的内部调用splitWord()“真正的程序员”,而不是到处放置对象。OOP在需要时是好的,而不是强制的。“OOP只是为了OOP”是不好的。这些只是例子。
splitWord
功能不仅仅限于
sendContact
功能。我只是把它们放在那里,为我想要实现的目标提供背景。谢谢,“真正的程序员”不会到处放东西。OOP在需要时是好的,而不是强制的。“OOP只是为了OOP”是不好的。这些只是例子。
splitWord
功能不仅仅限于
sendContact
功能。我只是把它们放在那里,为我想要实现的目标提供背景。谢谢,当然。。哇,真不敢相信我居然没有想到。那一定是一天中的那个时候。当然。。哇,真不敢相信我居然没有想到。那一定是一天中的那个时候。