본문 바로가기

PHP/PHP Programming

[PHP] 1차원 배열

반응형

■ 1차원 배열



 다섯 과목(국어, 영어, 수학, 사회, 과학) 점수의 합계와 평균을 구하는 프로그램을 생가해 보자. 만약 배열을 사용하지 않으면, 왼쪽과 같이 각 과목들에 해당하는 변수를 정의하고 점수를 입력해야 한다. 반면에 오른쪽과 같이 배열을 사용해 프로그램을 작성하면, 여러개의 변수를 사용하는 대신 하나의 배열 변수 $score를 사용해 쉽고 효율적으로 프로그래밍할 수 있다.




 위와 같이 배열 변수 $score는 다섯 개의 원소를 가지며 각각의 위치는 $score[0], $score[1], $score[2], $score[3], $score[4]가 된다. [ ]안에 있는 숫자를 배열의 인덱스라고 부르는데, 인덱스의 값이 0부터 시작된다는 점에 유의한다. 이처럼 배열을 이용하면 한꺼번에 여러 개의 변수를 사용해야 하는 번거로움을 피할 수 있다.







01. 1차원 배열을 이용한 다섯 과목 합계와 평균 계산


 array_avg.php

 출력화면



① 다섯 과목의 점수 입력

 5 ~ 9행 과목의 점수를 배열 변수 $score에 저장한다. $score가 가진 원소 $score[0] ~ $score[4] 다섯 과목의 점수를 각각 입력한다.


② 변수 초기화

 11행 누적 합을 나타내는 변수 $sum을 0으로 초기화 한다.


③ 합계 계산

 12행 ~ 15행 $a가 0 ~4로 변하면서 for문이 다섯 번 반복되고, 변수 $sum에 다섯 과목의 점수가 차례로 더해지면서 합을 구할 수 있다.

이 과정에서 변수 $sum값의 변화를 정리해 보면 아래와 같다.


  for문 반복에 따른 $a 와 $sum 값의 변화

반복횟수

$a값

$sum값

 1회

 0

 0 + $score[0]

 2회

 1

 0 + $score[0] + $score[1]

 3회

 2

 0 + $score[0] + $score[1] + $score[2]

 4회

 3

 0 + $score[0] + $score[1] + $score[2] + $score[3]

 5회

 4

 0 + $score[0] + $score[1] + $score[2] + $score[3] + $score[4]


④ 평균 계산

 17행 $sum을 5로 나눈 결과를 $avg에 저장해 평균을 구한다.


⑤ 결과 출력

 19, 20행 다섯 과목의 점수와 합계, 평균을 출력한다.





02. array( ) 함수를 이용한 배열 원소값 입력


 배열에 원소값을 직접 입력할 수 도 있지만, PHP 시스템의 array( ) 함수를 이용하면 좀 더 간편하게 입력할 수 있다.


 array_func.php

 출력화면


① array( ) 함수를 이용한 점수 입력

 5행 array() 함수로 점수를 한 번에 입력한다. 20명의 점수를 각각 배열 원소 $eng_score[0], $eng_score[1] … $eng_score[19]에 저장한다.


② 변수 초기화

  7행 누적합을 나타내는 변수 $sum을 0으로 초기화 하낟.


③ 합계와 평균

 9 ~ 12행 for문으로 학생들의 영어 점수를 $sum에 snwjrgkske. rm rufrhk 20명의 영어 점수 합이 $sum에 입력된다.

 14행 평균을 계산해 $sum에 입력하낟.


④ 영어 점수와 합계, 평균 출력

 16 ~ 18행 : 5행에서 입력한 학생들의 점수를 출력한다.

 22행 : 합계 $sum과 평균 $avg를 출력한다.










03. 반복문을 이용한 배열 원소값 입력


 for문으로 배열에 값을 입력해 보자. 반복 변수와 배열의 인덱스에 주목해서 살펴보자.

 array_ab.php

 출력화면



① 배열 $a와, $b에 값 입력

 2, 3행 $i가 0에서 9로 1씩 증가하면서 배열 변수 $a의 각 원소에 1에서 10까지 입력된다.

 5, 6행 $i가 9에서 0으로 1씩 감소하면서 배열 변수 $b의 각 원소에 10에서 1까지 입력된다.


② 곱셈 결과 입력

 8, 9행 $i가 0에서 9로 1씩 증가하면서 이에 대응하는 $a와 $b 원소의 곱이 차례로 배열 $c의 각 원소에 저장된다.


③ 배열 $a, $b, $c 출력

 11, 12행 배열 $a, $b, $c의 각 원소에 입력된 값을 출력한다.

반응형

'PHP > PHP Programming' 카테고리의 다른 글

[PHP] 2차원 배열  (0) 2014.12.11
[PHP] 버블 정렬을 이용한 배열 원소 정렬  (0) 2014.12.11
[PHP] 논리 연산자  (0) 2014.12.09
[PHP] 비교 연산자  (0) 2014.12.09
[PHP] 대입 연산자  (0) 2014.12.08