Comment résoudre ce problème ?!!~~~
███
███ 2018-09-07 23:41:15
0
3
1572

<?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

*/



███
███

répondre à tous(3)
biubiubiu

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


public function __construct($menu){
$this-&gt ; 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-&gt ;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-&gt ;calculer($commande3);
Menu::counter();


秋香姐家的小书童

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

jesse

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!