>  Q&A  >  본문

이 문제를 어떻게 해결하나요?!!~~

<?php

/*

1. 주어진 메뉴(menu)와 주문(order)에 따라 총 주문 금액을 계산합니다.

*/


$menu = '[

                       ~                      . 1,"이름":"大菜","음식":[

                                                                                >                                    

]}, " {" type_id ": 2," 이름 ":" 중국 요리 "," 음식 ": [

{" food_id ": 4," 이름 ":" 작은 튀김 "," 가격 ":" 13"},

ㅋㅋㅋ ~                                           ","food":[

                                         ~                                         

//계수 수량

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


/*

2. 다음 기능을 구현하는 클래스 메뉴를 디자인합니다.

1. 메뉴 설정, 각 인스턴스에는 하나만 있어야 합니다. 메뉴(json 문자열, 위와 같은 구조)

2. 메소드 계산, 주문(json 문자열, 위와 같은 구조)을 입력한 후 가격을 출력합니다

3. 할인 메소드를 사용하면 할인을 설정하고 자동으로 가격을 출력할 수 있습니다. 할인 계산

4. 정적 메소드 카운터. 계산 메소드가 호출된 횟수를 출력

*/



██████2207일 전1538

모든 응답(3)나는 대답할 것이다

  • biubiubiu

    biubiubiu2018-09-18 14:53:18

    클래스 메뉴{
    private $menu;//Menu
    private $discountNum=10;//Discount
    static $calculateCount=0;//호출 횟수


    public 함수 __construct($menu){
    $this-> ; 메뉴=json_decode($menu,true);
    }


    공개 함수 계산($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/>';
    echo '할인된 가격:'.$totalPrice*($this- >discountNum /10).'<br/>';
    }


    공용 함수 할인($discountNum){
    return $this->discountNum=$discountNum;
    }


    공용 정적 함수 카운터 (){
    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 " :[
    {"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, "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=새 메뉴($menu);
    $menu1->discount(8.7);
    $menu1->calculate($order1);
    $menu1->calculate($order2);
    $menu1-> ;계산($order3);
    메뉴::카운터();


    회신하다
    1
  • 秋香姐家的小书童

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

    JSON을 배열로 변환한 다음 배열을 반복하여 함께 추가하세요

    회신하다
    0
  • jesse

    jesse2018-09-08 12:11:50

    Json과 배열 변환, OOP의 기본 지식을 함께 살펴보겠습니다. 어디서부터 시작해야 할지 모르겠다면 중국 웹사이트에 가서 관련 동영상을 시청하세요.

    회신하다
    0
  • 취소회신하다