我正在寻找一些帮助
可以在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);
}
请注意,在生成函数之前,您应该学会使用变量。