>백엔드 개발 >PHP 튜토리얼 >PHP 튜토리얼: PHP 사용자 정의 함수 애플리케이션

PHP 튜토리얼: PHP 사용자 정의 함수 애플리케이션

伊谢尔伦
伊谢尔伦원래의
2017-06-26 11:09:091820검색

함수 정의: 함수는 언제든지 호출할 수 있는 캡슐화된 코드 블록입니다. PHP에는 사용자 정의 함수와 시스템 함수라는 두 가지 유형의 함수가 있습니다.

사용자 정의 함수 구문 형식:

함수 함수 이름([매개변수 1, [매개변수 2]....])

{

함수 본문(프로그램 콘텐츠 설명)

[반환 값;]

}

참고: [] 안의 내용은 선택사항입니다.

사용자 정의 함수 이름:

  1. 프로그램 코드에서 함수의 식별 이름입니다. 함수 이름은 문자 또는 밑줄로 시작될 수 있습니다. 0 또는 여러 문자, 밑줄 및 숫자로 구성된 문자열입니다.

  2. 변수 이름 명명 규칙을 준수하세요

  3. 함수 이름은 대소문자를 구분하지 않습니다.

  4. 함수 이름은 중복될 수 없으며, 함수 이름을 지을 때 선언된 함수를 사용할 수 없습니다(변수 이름 지정과 다르며, 변수는 이전 변수 이름을 덮어쓸 수 있지만 함수는 덮어쓸 수 없음). 그리고 PHP 시스템 함수 이름.

함수 이름과 변수 이름의 차이점:

변수 이름은 엄격하게 대소문자를 구분하지만 함수 이름은 대소문자를 구분하지 않습니다.

매개변수(형식 매개변수와 실제 매개변수로 나눌 수 있음):

파라미터라고 불리는 것은 함수 외부에서 함수 본체로 값을 전달하는 데 사용되며 계산 및 처리에 사용됩니다.

매개변수는 ","로 구분됩니다. 함수에 전달할 값이 필요하지 않은 경우 매개변수를 생략할 수 있습니다.

형식 매개변수: 함수를 선언할 때 함수 이름 뒤의 괄호 안의 표현식을 형식 매개변수라고 합니다.

함수 테이블(형식 매개변수 1, 형식 매개변수 2) {}

실제 매개변수: 호출된 함수 이름 뒤 괄호 안의 표현식을 실제 매개변수라고 합니다.

테이블(실제 매개변수 1, 실제 매개변수 2)

실제 매개변수와 형식 매개변수는 순서대로 데이터를 전달해야 합니다.

function table2($rows,$cols,$color='yellow')
{
    echo &#39;<table border="1" bgcolor="&#39;.$color.&#39;">&#39;;
    for($i = 0;$i < $rows;$i++){
        echo &#39;<tr>&#39;;
        for($n = 0;$n <$cols;$n++){
            echo &#39;<td>&#39;.($i*$rows+$n).&#39;</td>&#39;;
        }
        echo &#39;</tr>&#39;;
    }
}
table2(10,10,&#39;red&#39;);

참고: 함수 매개변수 중 기본값이 없는 매개변수는 맨 앞에 배치되고, 매개변수 목록에서 기본값이 있는 매개변수는 맨 마지막에 배치됩니다.

table2($rows,$cols,$color = 'yellow')

반환값:

함수 호출 시 일부 값을 반환해야 할 경우 함수 본문에 return 문을 사용해야 합니다.

형식은 다음과 같습니다.

return return value; //반환값은 변수 또는 표현식일 수 있습니다.

exit() //반환값 없음 void

함수 본문에서 return 문을 사용하는 경우 , 다음 두 가지 함수가 있습니다:

  1. return 문은 함수 본문에서 결정된 값을 함수 호출자에게 반환할 수 있습니다.

  2. 프로그램 제어를 호출자의 범위로 되돌립니다. 즉, 함수를 종료합니다. 함수에서 return 문이 실행되면 그 뒤의 문은 실행되지 않습니다.

참고: 함수가 값을 반환하지 않으면 실행 프로세스로만 간주될 수 있습니다. 단순히 함수에 의존하여 작업을 수행하는 것만으로는 충분하지 않습니다. 프로그램 스크립트에서. 변수 범위의 차이로 인해 함수를 호출하는 스크립트는 함수 본문에 있는 정보를 직접 사용할 수 없지만 return 키워드를 통해 호출자에게 데이터를 전달할 수 있습니다.

echo 및 반환: echo는 브라우저에 직접 출력되며 재처리될 수 없으며 변수에 할당될 수 없습니다.

return은 데이터의 임시 컨테이너인 변수에 할당될 수 있습니다(return은 값을 반환하고

참고: 함수에 반환 값이 있는 경우 함수가 실행되면 함수가 호출된 위치로 반환 후의 값이 반환되므로 함수 이름을 값으로 사용할 수 있습니다. 함수에 의해 반환됩니다. (이때, 함수 호출 시 ruturn 이후의 값은 동작하지 않습니다(retrun의 값은 함수가 호출된 위치로 반환되었으며, return 이전의 출력은 계속 출력될 수 있습니다). 특정 값이며 funName() 출력과 함께 사용할 수 없습니다. 출력하려면 echo funName()이 필요합니다. )

<?php
header("content-type:text/html;charset=utf-8");
echo show();
echo &#39;<hr>&#39;;

function show()
{
    echo &#39;ccc&#39;;
    return &#39;aaa&#39;;
    //return所在行之后的代码不会执行
    echo 111;
}

//函数的调用,不会将return后面的值返回
show();
echo &#39;<hr>&#39;;

//return返回的值 需要一个变量来接收它
$result = show();
echo $result;
echo &#39;<hr>&#39;;

//也可以直接输出 函数名称
echo show();
echo &#39;<hr>&#39;;

출력 결과:

cccaaa


ccc


cccaaa


cccaaa

함수 호출:

형식: 함수 이름( );

설명: table();

사용자 정의 함수이든 시스템 함수이든 해당 함수가 호출되지 않으면 실행되지 않습니다.

  1. 함수 이름을 통해 함수를 호출하고 함수 본체의 코드를 실행해 보세요. 여러 번 호출한 후 함수 본체가 여러 번 실행됩니다.

  2. PHP에서는 함수 선언 후에 호출할 수도 있고, 함수 선언 전에 호출할 수도 있고, 함수 내에서 함수를 호출할 수도 있습니다.

  3. Camel 케이스 명명법:

function showInfo()
{
}
function ShowInfo()
{
}

함수가 존재하는지 확인: function_exists()

if(function_exists(&#39;table&#39;)){
    echo &#39;table&#39;;
}else{
    echo &#39;table函数不存在,请先定义table函数&#39;;
}

PHP변수의 범위:

  • 局部变量

  • 全局变量

  • 静态变量

<?php
$username = &#39;shifang&#39;;
function stu()
{
    $name = &#39;libai&#39;;
    echo $name;
    //无法调用外部的$username,而在函数体内也没有声明$username
10   echo $username;
    echo &#39;xxxx&#39;;
}

stu();
//函数体外无法调用函数体内的变量
16.echo $name;
echo $username;

结果:

libai

Notice: Undefined variable: username in D:\xampp\htdocs\89\Exercise\2016-7-28 PHP function\007quanju.php on line 10

xxxx

Notice: Undefined variable: name in D:\xampp\htdocs\89\Exercise\2016-7-28 PHP function\007quanju.php on line 16

shifang

在PHP的页面中声明的变量,叫“全局变量”.

函数内的变量叫“局部变量”.

二者没有半毛钱关系:函数内的变量,外部无法调用,函数外的变量,函数无法调用

(某戏班子到某学校唱戏,两者的花名册都不可相互调用)

静态变量:

  •  PHP支持声明函数变量为静态的(static)。

  • 一个静态变量在所有对该函数的调用之间共享,并且仅在脚本的执行期间函数第一次被调用时被初始化。

  • 要声明函数变量为静态的用关键字static,通常,静态变量的第一次使用时赋予一个初始值。

<?php
function tongji()
{
    static $n = 0;
    echo $n;
    $n++;
}
tongji();
tongji();
tongji();
echo &#39;<hr>&#39;;

function jishu()
{
    $m = 0;
    echo $m;
    $m++;
}
jishu();
jishu();
jishu();

输出结果:
0123


00000


위 내용은 PHP 튜토리얼: PHP 사용자 정의 함수 애플리케이션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.