随着时代的发展,教育已经是我们生活中不可缺少的一门语言,那么web前端自定义函数知识有哪些呢,我校的小编为大家整理了一些有关于web前端自定义函数知识的相关内容,希望对各位学员能够有所帮助哦!
随着时代的发展,教育已经是我们生活中不可缺少的一门语言,那么***有哪些呢,我校的小编为大家整理了一些有关于****的相关内容,希望对各位学员能够有所帮助哦!一般来讲,冗余的代码都是不好的。一而再,再而三地重写代码不仅浪费时间,从布局结构角度看也显得粗制滥造。与所有优秀的编程语言一样,PHP采用了很多方法来缓解冗余代码的问题,其中最常见而且最容易实现的方法就是使用函数(function)。
一.标准函数
标准的PHP发行*中有1000多个标准函数,这些标准函数都是系统内置的,不需要用户自己创建而可以直接使用。
<?
echo md5('123456');//MD5函数对字符串进行加密处理?>
二.自定义函数
PHP内置函数允许和文件进行交互、使用数据库、创建图形,还可以连接其他的服务器。但是,在实际*中,有许多时候所需要的东西是语言的创建者无法预见到的。
声明一个函数可以让我们想内置函数那样使用自己的代码。只要简单地调用这个函数并提供给它必须的参数。这就意味着,在整个脚本中,都可以调用和多次重复使用相同的函数。
创建函数
<?
function functionName(){
echo'这是一个无参无返回自定义函数';
}
?>
调用函数
<?
functionName();
?>
函数命名
1.函数名不能和已有的函数名重名。
2.函数名只能*含字母、数字和下划线。
3.函数名不能以数字开头。
*含参数无返回的函数调用
<?
function functionArea($radius){
$area=$radius*$radius*pi();
echo$area;
}
functionArea(10);
?>
*含参数有返回的函数调用:使用return()语句可以向函数调用者返回任意确定值,将程序控制权返回到调用者的作用域。
<?
function functionArea($radius){
return$radius*$radius*pi();
}
echo functionArea(10);
?>
*含默认参数的函数调用:可以为输入参数指定默认值,在没有提供其他值的情况下,就会把这个默认值自动赋给该参数。
<?
function functionArea($radius=10){
return$radius*$radius*pi();
}
echo functionArea();
?>
返回多个值的函数调用:可以通过返回一个数组然后使用list()函数构造即可。
<?
function functionInfo($name,$age,$job){$userInfo=array($name,$age,$job);//可以用追加的方式比较常用return$userInfo;
}
list($name,$age,$job)=functionInfo('吴祁',19,'学生');
echo$name.'今年'.$age.'岁了,目前还是个'.$job;?>
*含引用传参的函数调用:引用传递可以在函数内对参数的修改在函数范围外也能反应。
<?
$prices=50;
$tax=0.5;
function functionPrices(&$prices,$tax){
$prices=$prices+($prices*$tax);
$tax=$tax*2;
}
functionPrices($prices,$tax);
echo$prices;
echo'<br/>';
echo$tax;
?>
请注意,函数调用将不区分大小写,所以调用functionname()、FunctionName()或FUNCTIOINNAME()都是有效的,而且都将返回相同的结果。为了方便,这里都用小写。
注意到函数名称和变量名称是不同的,这一点很重要。变量名是区分大小写的,所以$Name和$name是两个不同的变量,但Name()和name()则是同一个函数。
理解作用域
变量的作用域可以控制变量在哪里是可见并且可用的。不同的编程语言有不同的变量作用域规则。PHP具有相当简单的规则:
在函数内部声明的变量作用与是从声明它们的那条语句开始到函数末尾。这叫做函数作用域。这些变量成为局部变量。
在函数外部声明的变量作用域是从声明它们的那条语句开始到文件末尾,而不是函数内部。这叫做全局作用域。这些变量成为全局变量。
特殊的超级全局变量在函数内外部都是可见的。
使用require()和include()并不影响作用域。如果这两个语句用于函数内部,函数作用域适用。如果它不在函数内部,全局作用域适用。
关键字“global”可以用来手动指定一个在函数中定义或使用的变量具有全局作用域。
通过调用unset($variable_name)可以手动删除变量。如果变量被删除,它就不在参数所指定的作用域中了。
全局变量定义global
<?
$a=5;
function fna(){
global$a;
$a=20;
}
fna();
echo$a;
?>
可以通过使用超级全局变量$GLOBAL,可以访问或改变全局作用域中的任何变量。
<?
$GLOBALS['a']=5;
function fna(){
$GLOBALS['a']=20;
}
fna();
echo$GLOBALS['a'];
?>
创建自己的函数库
通常将函数集文件存放在library文件夹里,然后通过文件调用即可。文件名约定促成可以取名为tool.library.php,tool可以根据情况来设定,后面两个照抄!
三.文件*含
为了确保重用性和模块性,最普遍的方式是把功能组建隔离为单独的文件,然后在需要时重新组装。PHP提供了四种在应用程序中*含文件的语句。
include()语句将在其被调用的位置处判断并*含一个文件。*含一个文件与在该语句所在位置复制该文件的数据具有相同的结果。
<?
include'include.php';
?>
include_once()函数的作用与include()相同,不过它会首先验证是否已经*含了该文件。
如果*含了该文件,则不再执行include_once()。
<?
include_once'include.php';
?>
require()在很大程度与include()相同,都是将一个模板文件*含到require()调用所在的位置。
<?
require('require.php');
?>
require_once()函数的作用与require()相同,不过require_once()函数确保文件只*含一次。
在遇到require_once()后,后面再试图*含相同的文件时都将被忽略。
<?
require_once('require.php');
?>
require()语句和include()语句几乎是等价的。二者的差异在于,当这两个语句调用失败后,require()将给出一个致命错误,而include()只是给出一个警告