系统内部函数和用户自定义函数
学习任务:
Php自定义函数的定义,命名规则,格式,参数的设置和返回值的调用,以及php的内部函数。
5.2.1命名规则
(1).函数名称不区分大小写,第一个单词首字母小写,其后单词的首字母大写。
(2).函数参数没有限制,
(3).名称的开头不能使用数字及特殊符号。
(4).变量和程序名的长度必须在255个字符以内。
(5)设置值setValue,得到值getValue
5.5.2自定义函数格式
functionfunction_name([$arg_1].[$arg_2].[$arg_3].[$arg_4]){
fun_body;
[return arg_n;]
}
//注:函数名不区分大小写,但是变量名和常量名是区分大小写的;
5.5.3自定义函数的调用
Eg1:
<?php
function test(string $var){//参数不用说明类型
echo $var;
}
$var1 = '输出数据';
test($var1);
?>
Eg1结果:
Catchable fatal error: Argument 1 passed totest() must be an instance of string, string given, called in D:\php练习\function.php on line 7 and defined in D:\php练习\function.php on line 2 Call Stack: 0.0020 323296 1. {main}() D:\php练习\function.php:0 0.0020 323400 2. test() D:\php练习\function.php:7
Eg2:
<?php
functiontest($var){
echo $var;
}
$var1 = '输出数据';
test($var1);
?>
Eg2:结果
输出数据
5.2.4自定义函数的参数
1.按值传递方式
将实参的值复制到对应的形参中,在函数内部的操作针对形参进行,操作的结果不会影响到实参,即函数返回后,实参的值不会改变。
<?php
function test($var){
echo $var;
}
$var1 = '输出数据';
test($var1);
?>
2.按引用传递
引用传递就是将实参的内存地址传递给形参,这时函数内部的所有的操作都会影响到实参的值,返回后实参的值会发生变化。引用传递就是在值传的基础上加”&”号即可。
Eg:
<?php
function test(&$var){
$var++;
echo $var;
}
$var1 = 2;
test($var1);
echo "<br>";
echo $var1;
?>
Eg结果:
3
3
3.默认参数
这是一种设置参数的方式,即可选参数。可以指定某个参数为可选参数。即可选参数放在参数列表的末尾,并且指定其默认值为空。
Eg:
<?php
function values($price,$tax=""){
$price =$price+$price*$tax;
echo "价格为:".$price;
}
values(100,0.25);
echo "<p>";
values(100);
?>
Eg结果:
价格为:125
价格为:100
注:当使用默认函数的时候,默认函数必须放在非默认参数的右侧。
5.2.5自定义函数的返回值
函数使用return语句将返回值传递给调用者,return语句是可选的。return语句将函数的值返回给函数的调用者,即程序的控制权返回到调用者的作用域。
return后面紧跟返回的值,可以是变量,常量,数组和表达式。
注意:(1).全局使用return语句,那么将终止脚本的执行。
(2).return()是语言结构而不是函数,所以仅在参数包含表达式时才需要用括号括起来。当返回一个变量时通常不用括号,也建议不要用,可以减少php的负担。
(3).当用引用返回值时永远不要使用括号。
(4).return只能返回一个参数,即只能返回多个值。如果要返回多个值,可以将这些值放到数组中。
Eg:
<?php
functionreturn_array(){
return array("第一个元素","第二个元素","第三个元素");
}
$my_array= return_array();
print_r($my_array)
?>
Eg结果:
Array ([0] => 第一个元素 [1] => 第二个元素 [2] => 第三个元素 )
Php提供了很多内置函数,这些函数可以在程序中直接使用,它们按照实现的功能划分为很多个函数库。
5.3.1image图像函数
GB2函数库,但有些版本需要对php.ini文件进行设置来激活。
5.3.2Jpgraph类库创建3D图像(在Jpgraph官方网站下载最新版本的类库文件)
添加类库的步骤:
(1).从Jgraph官方网站下载最新版本的类库文件。
(2).下载Jpgraph压缩文件后解压,将其中的src文件夹复制到实例的根目录下。
(3).在实例目录下创建index.php文件,使用require_once语句包含Jpraph类库中的文件。
(4).调用类库中的方法完成3D饼形图的制作。
<?php
require_once ’src/jpgraph.php’;
require_once ‘src/jpgraph_pie.php’;
require_once ‘src/jpgraph_pie3d.php’;
?>
注意:什么是变量函数;
<?php
functionvariable_function(){
echo "函数:variable_function()<br>";
}
//定义变量
$value ='variable_function';
//通过变量调用方法
$value();
?>
5.3.3php内置函数的加载
Php内置的日期时间,字符串,数组和文件系统等函数库;
而诸如mysql函数库,imap函数库以及GD2函数库等默认情况下都是不支持的。
解决方案,找到php的配置文件php.ini.例如
将”;extension=php_mysql.dll”前面的分号去掉,保存文件,然后重新启动apache服务即可;