【问题标题】:Sending Variable from one function to another php function将变量从一个函数发送到另一个 php 函数
【发布时间】:2012-11-16 14:02:56
【问题描述】:

我正在尝试将变量从公共函数发送到私有静态函数,如下所示:

public function getAirportFare($fare) {

    $fare2 = 1000;

    return self::getFinalFare($fare, $fare2);

}

到:

private static function getFinalFare($fare, $fare2) {

    $fare = $fare + $fare2;

    $final_fare = ($fare * self::$fare_factor);

    if (self::$str_wait_return == "true") {
        $final_fare = $final_fare * 2;
    }

    if (self::$str_return == "true" && self::$return_date != "false" && self::$return_time != "false") {

        // We need to calc to fare based on the return date and time
        $return_fare = self::getFare(1);

        // Append to final fare
        $final_fare = $final_fare + $return_fare;

    }

    return number_format($final_fare,2);

}

但是 getFinalFare 函数中的 $fare2 是未定义的?我只是想知道如何传递这个值?

【问题讨论】:

  • 尝试声明完整的类名而不是self
  • 我看不出有什么特别的问题;您是否尝试在两个函数中添加var_dump($fare2) 进行调试?
  • 应该不可能。该变量在函数签名中声明,它不能未定义。请显示一个完整的可执行代码示例以及您如何确定它是未定义的。第一个提示:这些方法在同一个类中吗?
  • 他们在同一个班级,我刚刚做了一个var_dump,两者都是response = NULL // 17.00

标签: php


【解决方案1】:

我将假设这两种方法在同一个类中,如果不是,请告诉我,我会更新我的答案。

你要做的事情如下。

public function getAirportFare($fare) {

$fare2 = 1000;

return static::getFinalFare($fare, $fare2);

}

这将使用类中的静态方法,无论该类是否被重构或重命名。

【讨论】:

  • 他们在同一个班级,我试过这个并做了一个 var_dump($fare2) 它显示:NULL // 17.00
猜你喜欢
  • 2018-08-11
  • 1970-01-01
  • 2021-02-24
  • 1970-01-01
  • 1970-01-01
  • 2021-04-23
相关资源
最近更新 更多