[PHP] 함수(function)

Jeon·2021년 8월 10일

PHP

목록 보기
5/7
post-thumbnail

1. 함수(function)란?

  • PHP도 객체지향(OOP) 언어로 분류된다. 객체에 대한 개념을 적용해야 한다. C언어를 기반으로 만들어진 언어이기 때문에 함수 개념을 알아야 한다.

2. 내장함수

개념

내장함수의 종류

내장함수 예시

<?php
    $tel = "010-1234-5678";
    $tel_long = strlen($tel);

    print "strlen() 내장함수 사용 결과 : $tel_long<br>";

    $tel1 = substr($tel, 0, 3); // 010
    $tel2 = substr($tel, 4, 4); // 1234
    $tel3 = substr($tel, 9, 4); // 5678

    print "substr() 내장함수 사용 결과 : $tel1 $tel2 $tel3 <br>";

    $phone = explode("-", $tel); // array형태로 만들어짐 -> 아래처럼 인덱스로 호출해야 함

    print "explode() 내장함수 사용 결과 : $phone[0], $phone[1], $phone[2]";
?>

3. 외장함수

외장함수는 사용자가 원하는 기능을 수행하는 사용자 지정 함수이다.

예시

  1. aaa라는 함수는 "안녕하세요"를 출력하도록 설계되었다. 따라서 aaa();을 실행하면 "안녕하세요!"가 출력된다.
<!--사용자 정의 함수-->
<?php
    function aaa() {
        print ("안녕하세요!");
    }

    aaa();
?>

2. 만 나이 계산기
계산 기준일과 생일을 이용하여 만 나이를 계산하는 함수이다.

<?php
    // 만 나이 계산기
    function age_calculator($year, $month, $day, $b_year, $b_month, $b_day){
        if ($b_month < $month){
            $age = $year-$b_year;
        } elseif ($b_month = $month){
            if ($b_day < $day){
                $age = $year-$b_year;
            } else {
                $age = $year-$b_year-1;
            }
        } else{
            $age = $year-$b_year-1;
        }
        return $age;
    }

    print age_calculator(2021,8,11,1995,11,11);
    // 숫자 26 출력

3. 더하기 연산 함수
반환값 return 없는 경우

<?php
    // 더하기 함수(반환값 return 없는 경우)
    function plus($a, $b){
        $c = $a+$b;
        print ("더하기 연산 수행 결과 : $c");
    }

    plus(3, 4);
    print "<br>";
    plus(456, 789);
?>

더하기 함수(return이 있는 경우)

<?php
    // 더하기 함수(return이 있는 경우)
    function plus_return($a, $b){
        $c = $a+$b;
        return $c;
    }
    print "<br>";

    $result = plus_return(484, 137);
    print $result."<br>";

    $result = plus_return(3500, 1348);
    print $result;
?>

입력된 범위(시작~끝) 내 정수들의 합계

    $start = $_REQUEST["number_start"];
    $finish = $_REQUEST["number_finish"];
    //입력된 범위 내 정수들의 합 계산
    function total_plus($start, $finish){
        $sum = 0;
        while ($start <= $finish){
            $sum += $start;
            $start ++;
        }
        // 또는 for ($i = $start; $i <= $b; $i++)
        return $sum;
    }
    print "<br>";
    $total = total_plus($start, $finish);
    print "입력된 범위 내 정수들의 합 : ".$total;
?>
profile

0개의 댓글