Skip to main content Link Search Menu Expand Document (external link) Copy Copied

  1. 01 function
    1. 문법
    2. 01-1 : 함수
    3. 01-2 : 활용
    4. 01-3 배열의 값을 출력하는 함수 [plus]
    5. 01-4
  2. 02 variable
    1. 02-1
    2. 02-2
    3. 02-3 전역변수
    4. 02-4 정적변수

php

01 function

문법

function 함수이름 (매개변수1,매개변수2){ …실행문 } 함수이름();

함수네이밍규칙 - 영문소문자로 시작 , 특수문자는 _ 만 가능


01-1 : 함수

  • xmapp/htdoc/func.php 생성
html
  <!DOCTYPE html>
  <html lang="ko">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
  </head>
  <body>
    <h1>function</h1>
      <pre>
        function 함수이름 (매개변수1,매개변수2){
          ...실행문
        }
        함수이름();
         function func_add(){
        }
  </pre>
  </body>
  </html>

01-2 : 활용

  • 간단한 덧셈함수를 만들어 보자
php
    <?php
    function sum($x, $y)
    {
      return $x + $y;
    }
    echo sum(10, 20)
    ?>

실행화면 :


01-3 배열의 값을 출력하는 함수 [plus]

print_r 변수의 정보를 출력해주는 함수

PHP에서 변수는 배열(Array)과 객체(Object)도 포함

  • 예제
php
  <?php
  $fruits=['apple','mango','banana','orange'];
  echo '<pre>';
  print_r($fruits);
  echo '</pre>';
  ?>

실행화면

  1. $fruits 의 정보가 출력된다 배열의 각 인덱스 번호에 해당하는 값을 출력해줌

  2. print_r 의 위, 아래에 echo와 함께 pre 태그를 출력


01-4

pre 태그를 추가해주는 것을 함수로 작성

php
  <?php
  $fruits = ['apple', 'mango', 'banana', 'orange'];
  // echo '<pre>';
  // print_r($fruits);
  // echo '</pre>';
  function output($value)
  {
    echo '<pre>';
    print_r($value);
    echo '</pre>';
  }
  output($fruits)
  ?>

출력:


02 variable

02-1

더하기 함수 변형 plus

php

function sum1($x, $y)
{
  $result=$x+$y;  //$result 지역변수 선언
  return $result; //$result 변수 리턴
}
$result= sum1(10, 20);//$result 전역변수에 sum1(10,20) 호출
echo $result;

출력

  • 전역변수 $result 에 주석처리후 실행

  • 지역변수 $result는 함수 밖으로 꺼내올수 없으므로 에러

02-2

  • 지역변수를 알아보자
<hr>
<h2>지역변수 전역변수</h2>
<?php
function myfunc()
{
  $var = 10;
  echo "{$var}"; //지역변수로써 함수 외부에서 출력안됨
}
myfunc();
echo "{$var}";
?>

  • $var 의 스코프는 myfunc 함수의 바디영역이므로 실행오류 발생

02-3 전역변수

  • 전역변수를 알아보자
<hr>
<h2>전역변수</h2>
  <?php
  $var2 = 20;
  function myfunc2()
  {
    echo "{$var2}";//외부에 선언되었더라도 global 키워드가 없으면 함수 내부로 갖고 올수 없다
    global $var2;
    echo "{$var2}" //출력됨
  }
  myfunc2();
  echo "{$var2}";
  ?>

echo "$var2 임 <br>"echo "{$var2} 임<br>“의 차이

  1. 둘다 화면에 출력값은 같다
  2. echo "$var2 임 <br>" 처럼 변수명 뒤에 다른 문자가 나오면, PHP 파서는 “$var”라는 변수의 이름을 찾는 대신 “$var임”이라는 이름을 가진 변수를 찾는다.
  3. echo "{$var2} 임<br> 같이 변수명을 중괄호로 감싸야 PHP 파서가 변수명을 정확히 인식할 수 있다.

02-4 정적변수

함수 내부에서 static 키워드로 선언한 변수
함수의 호출이 종료되어도 메모리상에 존재함.
지역 변수처럼 해당 함수 내부에서만 접근가능.

  <hr>
  <h2>정적변수</h2>
  `static`

  <?php
  function increment()
  {
    global $count;
    $count= 0;
    echo "{$count}<br/>";
    $count++;
  }
  increment();
  increment();
  increment();
?>

실행화면 - 정적변수로 선언시 함수의 호출 이후에도 변수값이 증가함

실행화면-전역변수로 선언시 함수의 호출 이후에도 변수값이 불변함