Maison  >  Questions et réponses  >  le corps du texte

Comment résoudre ce problème ?!!~~~

<?php

/*

1. En fonction du menu (menu) et de la commande (commande) donnés, calculez le prix total de la commande

*/


$menu = '[

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

                                                                                                                                 {"food_id ":2,"name":"Porc braisé","price":"11"},

                                                                                

]}, "{ " type_id " : 2, " name " : " Cuisine chinoise ", " Food " : [

{" food_id " : 4, " name " : " petite viande frite ", " price " : " 13 "},

​ ","food":[

                                                                                         {"food_id":7,"name":"concombre ", "price": "16"}

                                                                                            

//numéro de coefficient quantité

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


/*

2. Concevoir un menu de classe pour implémenter les fonctions suivantes :

1. Définir le menu, chaque instance doit en avoir un et un seul Menu (chaîne json, structure comme ci-dessus)

2. Méthode de calcul, après avoir saisi la commande (chaîne json, structure comme ci-dessus), affichez le prix

3. Méthode de réduction, vous pouvez définir la remise et afficher automatiquement le prix. Calculez la remise

4. Compteur de méthode statique. Afficher le nombre de fois que la méthode de calcul est appelée

*/



██████2207 Il y a quelques jours1542

répondre à tous(3)je répondrai

  • biubiubiu

    biubiubiu2018-09-18 14:53:18

    class Menu{
    private $menu;//Menu
    private $discountNum=10;//Discount
    static $calculateCount=0;//Nombre d'appels


    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 'Le prix total d'origine est :'.$totalPrice.'<br/>';
    echo 'Le prix réduit est :'.$totalPrice*($this- >discountNum /10).'<br/>';
    }


    remise de fonction publique ($discountNum){
    return $this->discountNum=$discountNum;
    }


    compteur de fonction statique public (){
    echo 'le nombre d'appels de la méthode de calcul est :'.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 [ 'prix'];
    }
    }
    }
    }


    }


    $menu='[
    {"type_id":1,"name":"大菜","food":[
    {" food_id ":1,"name":"Râpé de porc au goût de poisson","price":"10"},
    {"food_id":2,"name":"Porc braisé","price":"11" },
    {"food_id":3,"name":"Nouilles épicées","price":"12"}
    ]},
    {"type_id":2,"name":"Cuisine chinoise","food " :[
    {"food_id":4,"name":"Porc frit","price":"13"},
    {"food_id":5,"name":"Wonton","price":" 14"}
    ]},
    {"type_id":3,"name":"accompagnements","food":[
    {"food_id":6,"name":"crème glacée","price": "15 "},
    {"food_id":7,"name":"concombre","price":"16"}
    ]}
    ]';


    $order1='[
    {"food_id": 1, "num":2},
    {"food_id":3,"num":1},
    {"food_id":6,"num":2},
    {"food_id":7,"num" :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=nouveau menu($menu);
    $menu1->remise(8.7);
    $menu1->calculer($commande1);
    $menu1->calculer($commande2);
    $menu1-> ;calculer($commande3);
    Menu::counter();


    répondre
    1
  • 秋香姐家的小书童

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

    Convertissez JSON en tableau, puis parcourez les tableaux et ajoutez-les ensemble

    répondre
    0
  • jesse

    jesse2018-09-08 12:11:50

    La conversion Json et tableau, ainsi que les connaissances de base de la POO seront examinées ensemble. Si vous sentez que vous ne savez pas par où commencer, rendez-vous sur le site Web chinois et regardez les vidéos pertinentes.

    répondre
    0
  • Annulerrépondre