사용자 정의 함수(1)

· 11년 전 · 2376

사용자 정의 함수(User-defined function)에 대해서 알아보겠습니다.

함수는 제가 앞에서 전역 변수, 정적 변수에 대해서 설명할 때 조금 소개되었죠.

함수는 특정한 작업을 수행하는 코드를 묶어서 프로그램에서 필요할 때마다 호출해서 사용하는 것으로, 함수를 사용하면 좀 더 효율적인 코딩을 할 수 있습니다.

그럼, 예제 코드를 보면서 가장 간단한 함수부터 하나씩 살펴보겠습니다.


<?
function Output() {
  echo("Hello World");
}

Output();
?>


위 예제는 Output() 함수를 호출하여 "Hello World" 라는 문자열을 출력하는 코드입니다.

위 예제를 통해 알 수 있는 것처럼, 함수를 사용하기 위해서는 함수를 선언하는 부분과 함수를 호출하는 부분을 기술해 주어야 합니다.

함수를 선언하기 위해서는 먼저 function 명령어를 써주고, 그 다음에 함수명과 괄호()를 써주면 됩니다.

그리고 함수의 몸체를 나타내는 중괄호를{}를 써주고, 그 중괄호{}안에 수행하고자 하는 코드를 넣어주면 됩니다.

다음으로, 그 선언된 함수를 호출하려면 그냥 함수명과 괄호()를 써주면 됩니다.

참고로, PHP4.x 이상 버전에서는 함수를 호출하는 부분이 함수를 선언하는 부분보다 먼저와도 상관없습니다.

이제, 다음 예제 코드를 볼까요.


<?
function Output($string) {
  echo("$string");
}

Output("Hello World");
?>


바로 위 예제가 처음 예제와 다른 부분이 있죠?

두 번째 예제는 함수 선언부의 함수명 다음에 오는 괄호() 안에 변수가 들어가 있죠. 그 변수를 인자(argument)라고 부릅니다.

그리고 함수 호출부의 함수명 다음에 오는 괄호() 안에 문자열이 들어있죠. 바로 그 문자열이 Output() 함수를 호출할 때 Output() 함수 선언부의 $string 변수에 할당되게 됩니다.

그래서, Output() 함수의 몸체에 기술된 echo("$string"); 명령어가 실행될 때 $string 변수에 저장된 "Hello World" 문자열이 출력되게 됩니다.

|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
11년 전 조회 3,734
11년 전 조회 2,406
11년 전 조회 2,534
11년 전 조회 2,268
11년 전 조회 3,196
11년 전 조회 3,114
11년 전 조회 2,583
11년 전 조회 2,455
11년 전 조회 2,221
11년 전 조회 2,659
11년 전 조회 3,046
11년 전 조회 2,126
11년 전 조회 2,288
11년 전 조회 2,434
11년 전 조회 2,441
11년 전 조회 2,658
11년 전 조회 4,164
11년 전 조회 3,861
11년 전 조회 3,283
11년 전 조회 2,972
11년 전 조회 2,895
11년 전 조회 3,891
11년 전 조회 3,131
11년 전 조회 4,318
11년 전 조회 5,179
11년 전 조회 5,285
11년 전 조회 5,337
11년 전 조회 5,486
11년 전 조회 3,950
11년 전 조회 1.9만
11년 전 조회 2,909
11년 전 조회 2,632
11년 전 조회 2,636
11년 전 조회 2,420
11년 전 조회 2,584
11년 전 조회 2,432
11년 전 조회 2,211
11년 전 조회 2,662
11년 전 조회 2,349
11년 전 조회 2,273
11년 전 조회 2,545
11년 전 조회 2,488
11년 전 조회 2,258
11년 전 조회 2,433
11년 전 조회 2,409
11년 전 조회 2,415
11년 전 조회 2,534
11년 전 조회 2,120
11년 전 조회 2,213
11년 전 조회 2,377
11년 전 조회 2,248
11년 전 조회 2,308
11년 전 조회 2,206
11년 전 조회 2,166
11년 전 조회 2,242
11년 전 조회 2,882
11년 전 조회 2,188
11년 전 조회 2,504
11년 전 조회 2,395
11년 전 조회 2,155
11년 전 조회 2,162
11년 전 조회 2,258
11년 전 조회 2,216
11년 전 조회 2,778
11년 전 조회 5,705
11년 전 조회 2,765
11년 전 조회 2,511
11년 전 조회 2,909
11년 전 조회 9,121
11년 전 조회 2,681
11년 전 조회 3,902
11년 전 조회 2,701
11년 전 조회 2,649
11년 전 조회 2,964
11년 전 조회 2,439
11년 전 조회 2,440
11년 전 조회 2,417
11년 전 조회 2,471
11년 전 조회 3,085
11년 전 조회 2,484
11년 전 조회 2,722
11년 전 조회 2,510
11년 전 조회 6,218
11년 전 조회 2,226
11년 전 조회 2,650
11년 전 조회 3,021
11년 전 조회 2,556
11년 전 조회 6,866
11년 전 조회 4,971
11년 전 조회 6,551
11년 전 조회 2,395
11년 전 조회 2,727
11년 전 조회 2,938
11년 전 조회 2,793
11년 전 조회 2,767
11년 전 조회 2,200
11년 전 조회 4,923
11년 전 조회 4,450
11년 전 조회 3,790
11년 전 조회 2,991