0

基本的に、以下に示すように 2 つの関数があります。最初の関数は、ピックアップが空港の住所 (jquery 関数から ajax 経由で送信されている) であるかどうかを確認します。空港なら基本的にgetAirportFare関数からgetFinalFare関数に変数$fareを送り、空港の住所なら料金を上乗せしたい。私はこれをどのように行うのだろうかと思っていました。(まだ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

これを正しく理解していれば、次のように簡単です。

//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 に答える
0

変数をある関数から別の関数に (または、ここで行っているようにインスタンス メソッドから静的メソッドに) 送信するには、最初の関数内で 2 番目の関数を呼び出し、変数を引数として渡します。次のようにします。

public function getAirportFare($fare, $fieldAirport) {

   if ($fieldAirport == 'airport') {

     $fare = $fare + 50.00;

     return self::getFinalFare($fare); 

    }

 }

インスタンス メソッドは、静的メソッドの戻り値を返します。

于 2012-11-16T11:11:58.557 に答える
-2

関数の外側で宣言する必要がありglobal $fare、その中で使用する場合は$this->fare.

于 2012-11-16T11:11:14.827 に答える