在另一个函数内部传递函数中的参数


Passing parameters in a function inside another function?

我正在寻找一些帮助

可以在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...

提前感谢:(

// 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并忘记了它,现在该参数没有存储在要使用的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()

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

funcOne('Alex')没有设置参数,它正在调用函数funcOne((。当funcOne($arg)执行时,它将参数$arg返回给调用者。echo funcOne('Alex')将回显Alex,因为这是返回的值。返回后,funcOne不再知道"Alex"。

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

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

请注意,在生成函数之前,您应该学会使用变量。