Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将变量从一个函数发送到另一个函数_Php - Fatal编程技术网

Php 将变量从一个函数发送到另一个函数

Php 将变量从一个函数发送到另一个函数,php,Php,基本上,我有两个函数,如下所示,第一个函数检查皮卡是否是机场地址(通过jquery函数通过ajax发送)。如果它是一个机场,我想把变量$fare从getAirportFare函数发送到getFinalFare函数,这样如果它是一个机场地址,它就会增加一笔费用。我只是想知道我该怎么做?(仍在努力学习PHP) 任何帮助都将不胜感激 //DEBUG// public function getAirportFare($fare, $fieldAirport) { if ($fieldAirport

基本上,我有两个函数,如下所示,第一个函数检查皮卡是否是机场地址(通过jquery函数通过ajax发送)。如果它是一个机场,我想把变量$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);

}

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

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

    }

}

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

我相信您必须在函数外部声明
全局$fare
,在函数内部使用时,使用
$this->fare

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

public function getAirportFare($fare, $fieldAirport) {

   if ($fieldAirport == 'airport') {

     $fare = $fare + 50.00;

     return self::getFinalFare($fare); 

    }

 }

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

getFinalFare
是一个静态函数。您不能将其称为
$this->getFinalFare
,而是使用
self::getFinalFare