在另一个函数中传递函数中的参数?

时间:2016-07-01 21:20:12

标签: php function parameter-passing

我正在寻求帮助

可以在php中的另一个函数中设置带有Arguments / Parameters的函数吗?这里我有一个理论上的例子。

<?php

// Function with parameter/s
function funcOne($arg) {
    return $arg;
}

// Parameter/s inside another function.. Possible!?
function funcTwo() {
    return funcOne($arg);
}

当我尝试像这样设置参数时

funcOne('Alex');
echo funcTwo();

我收到以下通知错误

Notice: Undefined variable: arg in...

提前致谢:)

3 个答案:

答案 0 :(得分:0)

function funcTwo($arg) {
    return funcOne($arg);
}

请注意,您应该在创建函数之前学习使用变量。

答案 1 :(得分:0)

// Function with parameter/s
function funcOne($arg) {
    return $arg;
}

// Parameter/s inside another function.. Possible!?
function funcTwo() {
    return funcOne($arg);
}

funcOne('Alex');
//Call is made to function one which returned an ARG.

请注意,此处函数刚刚返回arg并忘记了它,现在该参数为NO WHERE存储以供使用

//Now here inside the functionTwo scope $arg is never defined.
echo funcTwo();

您可以使用类和对象执行以下操作

class MyClass {

    public $classarg;

    public function funcOne($arg) {
        $this->classarg = $arg; //assigned the argument to a class variable
    }

    function funcTwo() {
        return $this->classarg; //using the class variable to test
    }

}

$myobj = new MyClass();
$myobj->funcOne('Alex');
echo $myobj->funcTwo()
  

你也可以使用全局变量来实现你想要的,但是我不建议使用它作为面向对象编程是我们应该使用的前进

答案 2 :(得分:0)

funcOne('Alex')没有设置参数,它正在调用函数funcOne()。 执行funcOne($arg)时,它会将参数$ arg返回给调用者。 echo funcOne('Alex')将回显Alex,因为这是返回的值。 回归后,funcOne不知道Alex&#39;更多。

当您致电funcTwo()时,它会执行funcOne($arg),但未定义$arg:它没有分配值。