php 배열 연습문제 2



문제를 보고 적당한 배열을 만들어보라.


문제
a 유형을 저장할 배열은 각 학생의 정보가 원소로 구성된 하나의 연관 배열이며,
원소의 키는 학생의 이름, 값은 점수와 학번의 연관 배열이다

$student = ['kang'=>['grad'=>100, 'id'=>1234],
'kim'=>['grad'=>90, 'id'=>5678]
];


문제) 한 학급을 구성하는 학생들의 성적과 학번


문제) 상품별 재고량


$product_amount = ['냉장고'=>10,'세탁기'=>20,'tv'=>10,'컴퓨터'=>40];



문제) 주간 점심 메뉴표의 요일별 구성(가격, 전체, 사이드, 음료, 기타)


$menu = [
'월'=>['전체메뉴'=>'불고기덮밥','사이드'=>'샐러드','음료'=>'식혜','기타'=>'없음','가격'=5000],
'화'=>['전체메뉴'=>'김치덮밥','사이드'=>'김치','음료'=>'콜라','기타'=>'없음','가격'=5000],
'수'=>['전체메뉴'=>'참치덮밥','사이드'=>'오이무침','음료'=>'사이다','기타'=>'없음','가격'=5000],
'목'=>['전체메뉴'=>'제육덮밥','사이드'=>'튀김','음료'=>'식혜','기타'=>'없음','가격'=5000],
'금'=>['전체메뉴'=>'계란덮밥','사이드'=>'우동','음료'=>'환타','기타'=>'없음','가격'=5000],
'토'=>['전체메뉴'=>'돈까스덮밥','사이드'=>'아이스크림','음료'=>'식혜','기타'=>'없음','가격'=5000],
'일'=>['전체메뉴'=>'오징어덮밥','사이드'=>'단무지','음료'=>'환타','기타'=>'없음','가격'=5000]
]



문제) 가족 구성원의 이름

$family_name = ['아빠'=>'허준','엄마'=>'사임당','동생'=>'홍길동']



문제) 가족 구성원의 이름, 나이 본인과의 관계

$family_info = [
['이름'=>'허준','나이'=50,'관계'='아빠'],
['이름'=>'사임당','나이'=50,'관계'='엄마'],
['이름'=>'홍길동','나이'=20,'관계'='동생']]

?>


문제출처: 한빛미디어 learning php

답변 출처: 본인 

'PHP 박살내기 > PHP 연습하기' 카테고리의 다른 글

php 배열 연습문제 2  (0) 2017.09.07
php 배열 연습문제 1  (0) 2017.09.07
php로 가게 메뉴 계산기 만들기 1  (0) 2017.09.04

배열 연습문제


#배열문제1





#결과화면





#소스코드

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>

table{border:1px solid black}

td {border:1px solid black}

</style>

</head>
<body>


<?php

print '<br><h1>지역 인원수 출력</h1>';
$city= array('경기수원'=>1194313,
'경남창원'=>1059241,
'경기고양'=>990073,
'경기용인'=>971327,
'충북청주'=>833276,
'전북전주'=>658172,
'충남천안'=>629062,
'경남김해'=>534124,
'경북포항'=>511124,
'경남진주'=>349788
);



print '<table>';
print '<tr><td>지역</td><td>인구수</td></tr>';



$city['total']=0;

foreach($city as $key =>$value){
$city['total'] += $value;
print "<tr><td>$key</td><td>$value</td></tr>";
}

//print count($city);
print "<tr><td>";
print array_search($city['total'], $city);
print "</td><td>$city[total]</td></tr>";
print '</table>';
?>




<?php
print '<br><h1>오름차순</h1>';

$city= array('경기수원'=>1194313,
'경남창원'=>1059241,
'경기고양'=>990073,
'경기용인'=>971327,
'충북청주'=>833276,
'전북전주'=>658172,
'충남천안'=>629062,
'경남김해'=>534124,
'경북포항'=>511124,
'경남진주'=>349788
);



print '<table>';
print '<tr><td>지역</td><td>인구수</td></tr>';



$city['total']=0;

asort($city);
foreach($city as $key =>$value){
$city['total'] += $value;
print "<tr><td>$key</td><td>$value</td></tr>";
}

//print count($city);
print "<tr><td>";
print array_search($city['total'], $city);
print "</td><td>$city[total]</td></tr>";
print '</table>';
?>





<?php
print '<br><h1>도별인구수</h1>';




$city= array('경기' => array('수원' => 1194313,'고양' => 990073,'용인' => 971327),
'충북' => array('청주' => 833276),
'경남' => array('창원' => 1059241,'진주' => 349788,'김해' => 534124),
'충남' => array('천안' => 629062),
'전북' => array('전주' => 658172),
'경북' => array('포항' => 511124)
);


print '<table>';
print '<tr><td>시도</td><td>지역</td><td>인구수</td><td>시별인구수</td></tr>';


foreach($city as $sido =>$arry_city){
$city [$sido]['total']=0;
foreach($arry_city as $city_name => $city_count){
$city [$sido]['total'] += $city_count;

print "<tr><td>$sido</td><td>$city_name</td><td>$city_count</td><td></td></tr>";
}

print "<tr><td>$sido</td><td>총인원수</td><td></td><td>";
print $city [$sido]['total'];
print "</td></tr>";
}


print '</table>';
?>


</body>
</html>



문제출처: 한빛 미디어 learning php 

답안작성:직접

'PHP 박살내기 > PHP 연습하기' 카테고리의 다른 글

php 배열 연습문제 2  (0) 2017.09.07
php 배열 연습문제 1  (0) 2017.09.07
php로 가게 메뉴 계산기 만들기 1  (0) 2017.09.04

메뉴 계산기 만들기 1


- 설정

햄버거 5000원 세이크 3000원 콜라 1500원

부가 세율 1.1%

팁으로 세전가격의 16% 지불

계선서 형식으로 출력

요리별 가격, 수량출력, 세전, 세후, 팁 포함 총가격을 각각 출력



- 결과


php코드로 시작했다가..점점 js 프로젝트가 되버리고 있다.....하긴 값을 폼으로 POST 나 GET으로 넘기면서 

페이지 전환이 이루어지고 있지 않으니..PHP활용도가 좀 떨어지긴하지


나중에는 mysql을 이용해서 동적으로 메뉴와 가격을 추가, 조회, 삭제, 수정 할 수 있는 table을 만들고

가게 테이블(사람이 앉는 테이블) table을 만들어서 해당 날짜에 몇번테이블에서 몇번의 매출이 났는지도 한번 만들어 봐야 겠다.

그때 php를 이용해서 폼으로 값을 넘겨서 PHP로 데이터를 MYSQL 에 저장하거나 가공해서 화면으로 뿌려봐야지

추가로 가격 값을 반올림 해주던지 소수점 몇 번째 이하로 버림 하던지 해야겠다. 



소스코드

<?php

//공급가액 : 11,080,000원 ÷ 1.1 = 10,072,727
//부가가치세 : 11,080,000원- 10,072,727 = 1,007,273


$burger = 4.95;
$shake = 1.95;
$cok = 0.85;


//세전가격
$first = ($burger*2)+$shake+$cok;
$tax = $first / 1.1;

//부가가치세
$result_tax=$first-$tax;

//세후 가격
$result_value = $first-$result_tax;

//팁계산
$tip= $result_value * 0.16;


echo '세전가격:';
echo $first.'$<br>';

echo '부가가치세:';
echo $result_tax.'$<br>';

echo '세후가격:';
echo $result_value.'$<br>';

echo '팁:';
echo $tip.'$<br>';

echo '총가격';
echo $result_value+$tip.'$<br>';

?>


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
#lay{border: solid 1px black;
width: 500px;
height: 800px;
margin-left:500px;
}

#top{
border-bottom:solid 1px black;
width: 500px;
height: 80px;
background:green;
}

#title{
text-align:center;
padding-top:10px;
}

#tbl{
border: solid 1px black;
width:500px;
height:400px;
}

td{
border: solid 1px black;
text-align:center;
}

#start{
width:500px;
height:100px;
background:yellow;
}

#tbl2{
width:500px;
height:200px;

}
</style>

</head>
<body>

<div id="lay">

<div id="top">
<h2 id="title">menu calculator</h2>
</div>


<div id="middle">

<table id="tbl">
<tr><td>메뉴</td><td>수량</td></tr>
<tr><td>햄버거</td><td><input tpye='text' id="ham"></td></tr>
<tr><td>콜라</td><td><input tpye='text' id="cok"></td></tr>
<tr><td>쉐이크</td><td><input tpye='text' id="shake"></td></tr>
</table>


</div>



<div id="bottom">

<input type="button" value="계산하기" id="start" onclick="start_click();">

</div>



<div id="result">


<table id="tbl2">
<tr><td>내용</td><td></td><td>내용</td><td></td></tr>
<tr><td>세전가격</td><td id="seajeon"></td><td>세후가격</td><td id="seahoo"></td></tr>
<tr><td>팁가격</td><td id="tipprice"></td><td>총액</td><td id="amount"></td></tr>
</table>

</div>


</div>

<script>

//start 버튼 눌렀을 때
function start_click() {

//나중에는 가격도 고정된 가격이 아니라 mysql에 저장해놓고 조회 수정 삭제 삽입이 되게 유연하게 만들기!

var burgerprice = 5000;
var shakeprice = 3000;
var cokprice = 1500;

var hamcount = document.getElementById("ham").value;
var cokcount = document.getElementById("cok").value;
var shakecount = document.getElementById("shake").value;

//아무것도 입력이 안되었을 때 0으로 초기화
// 나중에 문자열이 들어왔을때도 처리해주기

if(hamcount==NaN||hamcount==null||hamcount==""){
hamcount=0;
}else if(cokcount==NaN||cokcount==null||cokcount==""){
cokcount=0;
}else if(shakecount==NaN||shakecount==null||shakecount==""){
shakecount=0;
}


hamcnt=parseInt(hamcount);
cokcnt=parseInt(cokcount);
shakecnt=parseInt(shakecount);

//alert(hamcnt);
//alert(cokcnt);
//alert(shakecnt);

//alert(typeof(hamcnt));
//alert(typeof(cokcnt));
//alert(typeof(shakecnt));

//세전가격
var first_price = (burgerprice*hamcnt)+(shakeprice*shakecount)+(cokprice*cokcnt);

first_price=parseInt(first_price);


//세후 가격
var seahoo = document.getElementById("seahoo");

seahoo.innerHTML =first_price+"원";





var tax = first_price / 1.1;

//부가가치세
var result_tax=first_price-tax;

alert("부가가치세:"+result_tax);




//세전 가격
var result_value = first_price-result_tax;
var seajeon = document.getElementById("seajeon");
seajeon.innerHTML =result_value+"원";




//팁계산
var tip= result_value * 0.16;

var tipprice = document.getElementById("tipprice");
tipprice.innerHTML =tip+"원";


//총가격
var real_price=first_price+tip;
var amount = document.getElementById("amount");
amount.innerHTML =real_price+ "원";


}
</script>

</body>
</html>



'PHP 박살내기 > PHP 연습하기' 카테고리의 다른 글

php 배열 연습문제 2  (0) 2017.09.07
php 배열 연습문제 1  (0) 2017.09.07
php로 가게 메뉴 계산기 만들기 1  (0) 2017.09.04

+ Recent posts

티스토리 툴바