본문 바로가기

PHP/PHP Programming

[PHP] 2차원 배열 ■ 2차원 배열 1차원 배열로는 효율적인 프로그램일 구현하는데 한계가 있기 때문에 2차원 배열을 사용한다. 예를 들어 다음과 같이 학생 세명이 받은 다섯과목 점수의 합계와 평균을 구해보자. $score[ ][ ]에서 첫 번째 인덱스는 0 ~ 2의 값을 가지며 학생을 의미하고, 두번째 인덱스는 0 ~4의 값을 가지며 각 과목을 의미한다. 2차원 배열을 이용한 세 학생의 다섯 과목 점수 합계와 평균 계산 세 학생이 받은 다섯 과목 점수의 합계와 평균을 구하는 프로그램을 2차원 배열을 이용해 작성하면 아래와 같다. array( )함수로 학생의 점수를 배열에 입력 한 후, 이중 for문을 이용하여 배열에 저장된 값을 출력하고 합계와 평균을 계산해 보자. array_2d_avg.php 출력결과 ① 점수 입력 3행.. 더보기
[PHP] 버블 정렬을 이용한 배열 원소 정렬 ■ 버블 정렬을 이용한 배열 원소 정렬 버블 정렬(bubble sort)은 인접한 원소 두 개를 비교해가면서 값을 정렬하는 방법으로, 처리 속도는 느리지만 코드가 단순해 자주 사용된다. 여섯 개의 숫자 28, 15, 10, 25, 32, 17을 오름차순으로 정렬하는 예를 통해 버블 정렬이 동작하는 원리를 알아보자. ① ~ ⑨ 단계를 거치면, 배열의 맨 오른쪽 여섯 번째 위치에 들어갈 가장 큰 수 32를 찾는다. 다음으로 다섯 번째 위치에 들어갈 두 번째로 큰 수를 찾기 위해 과정을 반복하되, 다섯 번째 원소까지만 비교한다. 버블 정렬 결과 여섯 번째 위치부터 값이 큰 순서대로 저장된다. array_sort01.php 더보기
[PHP] 1차원 배열 ■ 1차원 배열 다섯 과목(국어, 영어, 수학, 사회, 과학) 점수의 합계와 평균을 구하는 프로그램을 생가해 보자. 만약 배열을 사용하지 않으면, 왼쪽과 같이 각 과목들에 해당하는 변수를 정의하고 점수를 입력해야 한다. 반면에 오른쪽과 같이 배열을 사용해 프로그램을 작성하면, 여러개의 변수를 사용하는 대신 하나의 배열 변수 $score를 사용해 쉽고 효율적으로 프로그래밍할 수 있다. 위와 같이 배열 변수 $score는 다섯 개의 원소를 가지며 각각의 위치는 $score[0], $score[1], $score[2], $score[3], $score[4]가 된다. [ ]안에 있는 숫자를 배열의 인덱스라고 부르는데, 인덱스의 값이 0부터 시작된다는 점에 유의한다. 이처럼 배열을 이용하면 한꺼번에 여러 개의 변.. 더보기
[PHP] 논리 연산자 ■ 논리 연산자 논리 연산자도 비교 연산자와 마찬가지로 조건문과 반복문 조건식에서 많이 사용한다. 논리 연산자에는 !, &&, ||이 각각 NOT, AND, OR를 나타낸다. 논리 연산자 예 결과값 ! !$a $a가 참이면 거짓, $a가 거짓이면 참 && ($a > 10) && ($a 0) && ($b > 0) $a값이 0보다 크거나 $b값이 0보다 크면 참, 그렇지 않으면 거짓 !은 조건을 반대로 만들어주는 연산자로 생각하면 된다. 참이면 거짓으로, 거짓이면 참으로 조건을 바꾼다. && 연산자는 두 가지 조건을 동시에 만족해야 참이다. 더보기
[PHP] 비교 연산자 ■ 비교 연산자 비교 연산자는 조건문이나 반복문의 조건식 참 / 거짓을 판별하는 목적으로 사용한다. 조건식의 참 / 거짓 판별에 따라 조건문에서는 실행하는 코드가 달라지고, 반복문에서는 특정 코드를 반복할지 결정한다. 비교 연산자 예 결과값 == $a == 3 $a값이 3과 같으면 참, 그렇지 않으면 거짓 != $a != $b $a값과 $b값이 서로 다르면 참, 그렇지 않으면 거짓 > $a > 100 $a값이 100보다 크면 참, 그렇지 않으면 거짓 = $a >= 5 $a값이 5보다 크거나 같으면 참, 그렇지 않으면 거짓 더보기