日期:2014-05-17  浏览次数:20491 次

PHP学习笔记之自定义函数

定义函数格式:function functionName(){

???? 函数内容

}

<?php

?? function myfunction(){

?????? echo '我的第一个php函数';

?? }

?>

php函数和其他语言函数一样可以有参数和返回值,参数可以有默认值。

返回多个值的函数:可以通过返回一个数组然后使用list()函数构造即可!

包含引用传参的函数调用:引用传递可以在函数内对参数的修改在函数范围外也能反应。

<?php

?? $name='guxia';

?? function functionName(&$name){

????? $name='wustrive_2008';

? }

? functionName($name);

? echo? $name;


?>

特别注意:在php中函数名不区分大小写,但变量名区分大小写

变量的作用域可以控制变量在哪里是可见并且可用的。不同的编程语言有不同的变量作
用域规则。PHP 具有相当简单的规则:
在函数内部声明的变量作用与是从声明它们的那条语句开始到函数末尾。这叫做函数作
用域。这些变量成为局部变量。
在函数外部声明的变量作用域是从声明它们的那条语句开始到文件末尾,而不是函数内
部。这叫做全局作用域。这些变量成为全局变量。
特殊的超级全局变量在函数内外部都是可见的。
使用require()和include()并不影响作用域。如果这两个语句用于函数内部,函数作用域
适用。如果它不在函数内部,全局作用域适用。
关键字“global”可以用来手动指定一个在函数中定义或使用的变量具有全局作用域。
通过调用unset($variable_name)可以手动删除变量。如果变量被删除,它就不在参数所
指定的作用域中了。

<?php
??? $a=5;
??? function fna(){
??? ??? global $a;
??? ??? $a++;
??? }
??? fna();
??? echo $a;???
?>


<?php

??? $GLOBALS['a']=10;
??? function fna(){
??? ??? $GLOBALS['a']++;
??? }
??? fna();
??? echo $GLOBALS['a'];

?>


创建自己的函数库
通常将函数集文件存放在library 文件夹里,然后通过文件调用即可。文件名约定促成
可以取名为toolname.library.php,tool 可以根据情况来设定。

外部文件调用时在文件中使用include()、include_once()、require()或者require_once()语句来引用文件。

include_once()和require_once()只包含文件一次!

include()和require()的区别:include()包含的文件如果不存在,接着执行后面的语句,require()包含的文件如果不存在,报错程序终止!

php中的几个魔法常量(值会随环境改变的常量):

_FILE_? :当前文件名

_LINE_:当前行号

_FUNCTION_:当前函数名

_CLASS_:当前类名

_METHOD_:当前方法名