ホームページ  >  に質問  >  本文

この問題を解決するにはどうすればよいでしょうか?!!~~~

<?php

/*

1. 指定されたメニュー (menu) と注文 (order) に従って、合計注文価格を計算します

*/


$menu = '[

{"type_id":1,"name":"大菜","food":[

{"food_id":1,"name":"魚風味ポーク細切り","price":"10"},

価格":"11"},

]},

; ]},

# . ]}

]';

/*

*/

//数値係数番号

$order = '[{"food_id":1,"num":2},{"food_id":3,"num":1},{"food_id":6,"num":2}, {"food_id":7,"num":1}]';


/*

2. 次の関数を実装するクラス Menu を設計します。 :

1. メニューを設定します。各インスタンスにはメニューが 1 つだけ必要です (json 文字列、上記の構造)

2. 注文を入力した後、メソッドを計算します (json 文字列、構造は次のように)上記の質問)、価格を出力します

3. 割引方法、割引を設定でき、価格を出力するときに割引を自動的に計算します

4. 静的方法カウンター。計算メソッドが呼び出された回数を出力

#*/



██████2207日前1541

全員に返信(3)返信します

  • biubiubiu

    biubiubiu2018-09-18 14:53:18

    class Menu{
    private $menu;//Menu
    private $discountNum=10;//Discount
    static $calculateCount=0;//呼び出し回数


    public function __construct($menu){
    $this-> ; menu=json_decode($menu,true);
    }


    public function Calculate($order){
    self::$calculateCount++;
    $totalPrice=0;
    $order=json_decode($order,true);
    foreach ($order as $key => $value) {
    $foodPrice=$this->getFoodPrice($value['food_id']);
    $num=$value['num'];
    $totalPrice+= ( $foodPrice*$num);
    }
    echo '元の合計価格は:'.$totalPrice.'<br/>'<br/>';
    echo '割引価格は:'.$totalPrice*($this- >discountNum /10).'<br/>';
    }


    public functiondiscount($discountNum){
    return $this->discountNum=$discountNum;
    }


    public static function counter (){
    echo 'メソッドの呼び出し数の計算は次のとおりです:'.self::$calculateCount.'<br/>';
    }


    public function getFoodPrice($foodId){
    foreach ($this-> ;menu as $key => $value) {
    foreach ($value['food'] as $key => $value) {
    if($foodId==$value['food_id']){
    return $value [ '価格'];
    }
    }
    }
    }


    }


    $menu='[
    {"type_id":1,"name":"大菜","food":[
    {" food_id ":1,"name":"魚風味ポーク細切り","price":"10"},
    {"food_id":2,"name":"ポークの煮込み","price":"11" },
    {"food_id":3,"name":"辛麺","price":"12"}
    ]},
    {"type_id":2,"name":"中華料理","食べ物" :[
    {"food_id":4,"name":"チャーシュー","price":"13"},
    {"food_id":5,"name":"ワンタン","price":" 14"}
    ]},
    {"type_id":3,"name":"おかず","food":[
    {"food_id":6,"name":"アイスクリーム","price": "15 "},
    {"food_id":7,"name":"キュウリ","price":"16"}
    ]}
    ]';


    $order1='[
    {"food_id": 1, "番号":2},
    {"食品ID":3,"番号":1},
    {"食品ID":6,"番号":2},
    {"食品ID":7,"番号" :1 }
    ]';
    $order2='[
    {"food_id":1,"num":2},
    {"food_id":4,"num":1},
    {"food_id":6 ," num":7},
    {"food_id":5,"num":6}
    ]';
    $order3='[
    {"food_id":1,"num":2},
    {" food_id" :2,"num":17},
    {"food_id":4,"num":24},
    {"food_id":7,"num":11}
    ]';


    $menu1=新しいメニュー($menu);
    $menu1->割引(8.7);
    $menu1->計算($order1);
    $menu1->計算($order2);
    $menu1-> ;計算($order3);
    メニュー::カウンター();


    返事
    1
  • 秋香姐家的小书童

    秋香姐家的小书童2018-09-10 15:01:28

    JSON を配列に変換し、配列をループして加算します

    返事
    0
  • jesse

    jesse2018-09-08 12:11:50

    Json と配列の変換、および OOP の基礎知識を一緒に検討します。どこから始めればよいかわからない場合は、中国語の Web サイトにアクセスして関連するビデオをご覧ください。

    返事
    0
  • キャンセル返事