在PHP上将值从另一个函数传递到另一个功能


Passing value from another function to another function on PHP

我有两个类在差异页上分开。我想做的是保存一个函数返回的值,并将其传递给另一个函数。我有下面的代码:

类publicfunction(在publicfunction.php上)

class publicfunction {
  public static function getqs() { 
    $qs = array();
    parse_str($_SERVER['QUERY_STRING'], $qs);
}}

类be_mstpublc(在be_mstpublc.php上)

class be_mstpublc {
  public static function setmstpublcpgtitle() { 
    if(!empty($qs['mst'])) {
        switch($qs['mst']) {
            case 'A': 
                $pagetitle = "A";
                break;
}}}}

然后在另一个页面上实现上面的功能:

call_user_func(array('publicfunction', 'getqs'));
call_user_func(array('be_mstpublc', 'setmstpublcpgtitle'));
echo $pagetitle;

但它不会返回任何值。

有什么想法吗?谢谢

--编辑--

我在URL上传递了一个值,即:localhost/test/index.php?mst=A

首先,return是值,否则它不会去任何地方:

public static function getqs() { 
    $qs = array();
    parse_str($_SERVER['QUERY_STRING'], $qs);
    return $qs;
}

然后,接受它作为一个参数:

public static function setmstpublcpgtitle($qs) {
  ...
}

然后,通过它:

$qs = publicfunction::getqs();
be_mstpublc::setmstpublcpgtitle($qs); 

您的问题是变量范围的问题。方法publicfunction::qs()隐式声明一个名为$qs局部变量。在此方法之外无法访问它。

通常情况下,如果将存储放在一个类中,则在同一类中有多个方法用于设置和检索存储。一种解决方案是将setmstpublcpgtitle放在publicfunction类中。然而,第二种方法也有同样的问题。它需要返回$pagetitle,而不仅仅是设置它。