함수 정의: 함수는 언제든지 호출할 수 있는 캡슐화된 코드 블록입니다. PHP에는 사용자 정의 함수와 시스템 함수라는 두 가지 유형의 함수가 있습니다.
사용자 정의 함수 구문 형식:
함수 함수 이름([매개변수 1, [매개변수 2]....])
{
함수 본문(프로그램 콘텐츠 설명)
[반환 값;]
}
참고: [] 안의 내용은 선택사항입니다.
사용자 정의 함수 이름:
프로그램 코드에서 함수의 식별 이름입니다. 함수 이름은 문자 또는 밑줄로 시작될 수 있습니다. 0 또는 여러 문자, 밑줄 및 숫자로 구성된 문자열입니다.
변수 이름 명명 규칙을 준수하세요
함수 이름은 대소문자를 구분하지 않습니다.
함수 이름은 중복될 수 없으며, 함수 이름을 지을 때 선언된 함수를 사용할 수 없습니다(변수 이름 지정과 다르며, 변수는 이전 변수 이름을 덮어쓸 수 있지만 함수는 덮어쓸 수 없음). 그리고 PHP 시스템 함수 이름.
함수 이름과 변수 이름의 차이점:
변수 이름은 엄격하게 대소문자를 구분하지만 함수 이름은 대소문자를 구분하지 않습니다.
매개변수(형식 매개변수와 실제 매개변수로 나눌 수 있음):
파라미터라고 불리는 것은 함수 외부에서 함수 본체로 값을 전달하는 데 사용되며 계산 및 처리에 사용됩니다.
매개변수는 ","로 구분됩니다. 함수에 전달할 값이 필요하지 않은 경우 매개변수를 생략할 수 있습니다.
형식 매개변수: 함수를 선언할 때 함수 이름 뒤의 괄호 안의 표현식을 형식 매개변수라고 합니다.
함수 테이블(형식 매개변수 1, 형식 매개변수 2) {}
실제 매개변수: 호출된 함수 이름 뒤 괄호 안의 표현식을 실제 매개변수라고 합니다.
테이블(실제 매개변수 1, 실제 매개변수 2)
실제 매개변수와 형식 매개변수는 순서대로 데이터를 전달해야 합니다.
function table2($rows,$cols,$color='yellow') { echo '<table border="1" bgcolor="'.$color.'">'; for($i = 0;$i < $rows;$i++){ echo '<tr>'; for($n = 0;$n <$cols;$n++){ echo '<td>'.($i*$rows+$n).'</td>'; } echo '</tr>'; } } table2(10,10,'red');
참고: 함수 매개변수 중 기본값이 없는 매개변수는 맨 앞에 배치되고, 매개변수 목록에서 기본값이 있는 매개변수는 맨 마지막에 배치됩니다.
table2($rows,$cols,$color = 'yellow')
반환값:
함수 호출 시 일부 값을 반환해야 할 경우 함수 본문에 return 문을 사용해야 합니다.
형식은 다음과 같습니다.
return return value; //반환값은 변수 또는 표현식일 수 있습니다.
exit() //반환값 없음 void
함수 본문에서 return 문을 사용하는 경우 , 다음 두 가지 함수가 있습니다:
return 문은 함수 본문에서 결정된 값을 함수 호출자에게 반환할 수 있습니다.
프로그램 제어를 호출자의 범위로 되돌립니다. 즉, 함수를 종료합니다. 함수에서 return 문이 실행되면 그 뒤의 문은 실행되지 않습니다.
참고: 함수가 값을 반환하지 않으면 실행 프로세스로만 간주될 수 있습니다. 단순히 함수에 의존하여 작업을 수행하는 것만으로는 충분하지 않습니다. 프로그램 스크립트에서. 변수 범위의 차이로 인해 함수를 호출하는 스크립트는 함수 본문에 있는 정보를 직접 사용할 수 없지만 return 키워드를 통해 호출자에게 데이터를 전달할 수 있습니다.
echo 및 반환: echo는 브라우저에 직접 출력되며 재처리될 수 없으며 변수에 할당될 수 없습니다.
return은 데이터의 임시 컨테이너인 변수에 할당될 수 있습니다(return은 값을 반환하고
참고: 함수에 반환 값이 있는 경우 함수가 실행되면 함수가 호출된 위치로 반환 후의 값이 반환되므로 함수 이름을 값으로 사용할 수 있습니다. 함수에 의해 반환됩니다. (이때, 함수 호출 시 ruturn 이후의 값은 동작하지 않습니다(retrun의 값은 함수가 호출된 위치로 반환되었으며, return 이전의 출력은 계속 출력될 수 있습니다). 특정 값이며 funName() 출력과 함께 사용할 수 없습니다. 출력하려면 echo funName()이 필요합니다. )
<?php header("content-type:text/html;charset=utf-8"); echo show(); echo '<hr>'; function show() { echo 'ccc'; return 'aaa'; //return所在行之后的代码不会执行 echo 111; } //函数的调用,不会将return后面的值返回 show(); echo '<hr>'; //return返回的值 需要一个变量来接收它 $result = show(); echo $result; echo '<hr>'; //也可以直接输出 函数名称 echo show(); echo '<hr>';
출력 결과:
cccaaa형식: 함수 이름( );
설명: table();
사용자 정의 함수이든 시스템 함수이든 해당 함수가 호출되지 않으면 실행되지 않습니다.
함수 이름을 통해 함수를 호출하고 함수 본체의 코드를 실행해 보세요. 여러 번 호출한 후 함수 본체가 여러 번 실행됩니다.
PHP에서는 함수 선언 후에 호출할 수도 있고, 함수 선언 전에 호출할 수도 있고, 함수 내에서 함수를 호출할 수도 있습니다.
Camel 케이스 명명법:
function showInfo() { } function ShowInfo() { }
함수가 존재하는지 확인: function_exists()
if(function_exists('table')){ echo 'table'; }else{ echo 'table函数不存在,请先定义table函数'; }
PHP변수의 범위:
局部变量
全局变量
静态变量
<?php $username = 'shifang'; function stu() { $name = 'libai'; echo $name; //无法调用外部的$username,而在函数体内也没有声明$username 10 echo $username; echo 'xxxx'; } 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 '<hr>'; function jishu() { $m = 0; echo $m; $m++; } jishu(); jishu(); jishu();
输出结果:
0123
00000
위 내용은 PHP 튜토리얼: PHP 사용자 정의 함수 애플리케이션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!