0

基本上,我有两个函数,如下所示,第一个函数检查接送是否是机场地址(通过 ajax 从 jquery 函数发送)。如果它是机场,基本上我想将变量 $fare 从 getAirportFare 函数发送到 getFinalFare 函数,这样如果它是机场地址,它就会增加费用。我只是想知道我将如何做到这一点?(还在努力学习PHP)

任何帮助将非常感激。

//DEBUG//

public function getAirportFare($fare, $fieldAirport) {

if ($fieldAirport == 'airport') {

    $fare = $fare + 50.00;

    return $fare;

    }

}

//END OF DEBUG//

private static function getFinalFare($fare) {

    $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;

    }

    // Create new journey object with the info that we have so far

    /*$journey = new Journey($journey_id,$pickup,$dropoff,$vias,$distance,$vehicle,
                    $date_time,$return_journey,$meet_greet,$extras);*/

    return number_format($final_fare,2);

}
4

3 回答 3

0

要将变量从一个函数发送到另一个函数(或从实例方法发送到静态方法,就像您在此处所做的那样),请在第一个函数中调用第二个函数,并将变量作为参数传递给它,如下所示:

public function getAirportFare($fare, $fieldAirport) {

   if ($fieldAirport == 'airport') {

     $fare = $fare + 50.00;

     return self::getFinalFare($fare); 

    }

 }

您的实例方法现在将返回您的静态方法的返回值。

于 2012-11-16T11:11:58.557 回答
0

如果我理解正确的话,就这么简单:

//DEBUG//

public function getAirportFare($fare, $fieldAirport) {

if ($fieldAirport == 'airport') {

    $fare = $fare + 50.00;

    // Send the fare to the getFinalFare function and assign it's result.
    $final_fare = self::getFinalFare($fare);
    return $final_fare;

    }

}

如果我没有回答你的问题,请告诉我。

于 2012-11-16T11:10:15.803 回答
-2

我相信你必须global $fare在函数外部声明,在函数内部使用时,使用$this->fare.

于 2012-11-16T11:11:14.827 回答