第七章 php自定义函数实现代码
2015-01-24信息快讯网
使用自定义函数的目的:避免大量重复代码的出现。
7.1.标准函数标准php发行包中有1000多个标准函数,这些标准函数都是系统内置的,不需要用户创建就可以直接使用
如:
<?php echo md5('123456'); echo '<br/>'; echo sha1('123456'); echo '<br/>'; echo pi(); ?>
output
e10adc3949ba59abbe56e057f20f883e
7c4a8d09ca3762af61e59520943dc26494f8941b
3.14159265359
7.2.自定义函数
7.2.1函数命名基本原则:
1.函数名不能和已有的函数名重名。
2.函数名只能包含字母、数字和下划线。
3.函数名不能以数字开头
7.2.2基本使用:用function进行声明
<?php //创建函数 function funcCountArea($radius) { return $radius*$radius*pi(); } //使用函数 $area = funcCountArea(20); echo $area; echo '<br/>'; $area2 = funcCountArea(30); echo $area2; ?>
output
1256.63706144
2827.43338823
7.2.3按值传参
<?php $a = 5; function funcChange($a) { $a = 2 * $a; } funcChange ($a); echo $a; ?>
output
5
7.2.4按引用传参
<?php $a = 5; function funcChange(&$a) { $a = 2 * $a; } funcChange ($a); echo $a; ?>
output
10
7.2.5返回多个值的函数调用
<?php function funcUserInfo($username,$password) { $userInfo = array($username,$password); return $userInfo; } $arr = funcUserInfo('anllin','123456'); print_r($arr); ?>
output
Array ( [0] => anllin [1] => 123456 )
7.2.6另一种返回多个值的函数调用(实用:推荐)
<?php function funcUserInfo($username, $password) { $userInfo [] = $username; $userInfo [] = $password; return $userInfo; } $arr[] = funcUserInfo ( 'Bob', '512655' ); $arr[] = funcUserInfo ( 'John', '458736' ); $arr[] = funcUserInfo ( 'Mark', '925472' ); print_r ( $arr ); ?>
output
Array ( [0] => Array ( [0] => Bob [1] => 512655 ) [1] => Array ( [0] => John [1] => 458736 ) [2] => Array ( [0] => Mark [1] => 925472 ) )
注意:函数调用是不区分大小写的,但是变量名是区分大小写的。
7.2.7理解作用域:
局部变量:
在函数内部声明的变量。
全局变量:
在函数外部声明的变量。
7.2.8局部变量转换成全局变量
<?php $a = 5; function funcChangeValue() { global $a; $a = 10; } funcChangeValue(); echo $a; ?>
output
10
7.2.9超级全局变量$GLOBALR的使用
<?php $GLOBALS['a'] = 5; function funcChangeValue() { $GLOBALS['a'] = 10; } funcChangeValue(); echo $GLOBALS['a']; ?>
Output
10
7.3.文件包含
7.3.1 Include的使用,可以包含相同的文件多次
<?php include 'demo1.php'; include 'demo1.php'; include 'demo1.php'; ?>
output
e10adc3949ba59abbe56e057f20f883e
7c4a8d09ca3762af61e59520943dc26494f8941b
3.14159265359
--------------------------------------------------------------------------------
e10adc3949ba59abbe56e057f20f883e
7c4a8d09ca3762af61e59520943dc26494f8941b
3.14159265359
--------------------------------------------------------------------------------
e10adc3949ba59abbe56e057f20f883e
7c4a8d09ca3762af61e59520943dc26494f8941b
3.14159265359
7.3.2 include_once使用上和include没什么区别,但是调用多次只会包含相同的文件一次
<?php include_once 'demo1.php'; include_once 'demo1.php'; include_once 'demo1.php'; ?>
output
e10adc3949ba59abbe56e057f20f883e
7c4a8d09ca3762af61e59520943dc26494f8941b
3.14159265359
7.3.3 require() 语句包含并运行指定文件。
<?php require 'demo1.php'; require 'demo1.php'; require 'demo1.php'; ?>
output
e10adc3949ba59abbe56e057f20f883e
7c4a8d09ca3762af61e59520943dc26494f8941b
3.14159265359
--------------------------------------------------------------------------------
e10adc3949ba59abbe56e057f20f883e
7c4a8d09ca3762af61e59520943dc26494f8941b
3.14159265359
--------------------------------------------------------------------------------
e10adc3949ba59abbe56e057f20f883e
7c4a8d09ca3762af61e59520943dc26494f8941b
3.14159265359
7.3.4 require_once() 语句在脚本执行期间包含并运行指定文件.但是不重复包含相同的文件。
<?php require_once 'demo1.php'; require_once 'demo1.php'; require_once 'demo1.php'; ?>
output
e10adc3949ba59abbe56e057f20f883e
7c4a8d09ca3762af61e59520943dc26494f8941b
3.14159265359s
7.3.5 include与require的区别
Include后面如果还有其他代码,当调用include出错时,后面的代码还会继续执行,但是require则不会。
Include在调用一个不存在的文件时,会给出警告,但是会继续执行后面的代码。
<?php include 'demo111.php'; echo('this is demo13.php'); ?>
output
Warning: include(demo111.php) [function.include]: failed to open stream: No such file or directory in D:\AppServ\www\Basic7\demo13.php on line 2
Warning: include() [function.include]: Failed opening 'demo111.php' for inclusion (include_path='.;C:\php5\pear') in D:\AppServ\www\Basic7\demo13.php on line 2
this is demo13.php
Require在调用一个不存在的文件时,会给出一个错误,并中止代码的执行。
<?php require 'demo111.php'; echo('this is demo14.php'); ?>
Output
Warning: require(demo111.php) [function.require]: failed to open stream: No such file or directory in D:\AppServ\www\Basic7\demo14.php on line 2
Fatal error: require() [function.require]: Failed opening required 'demo111.php' (include_path='.;C:\php5\pear') in D:\AppServ\www\Basic7\demo14.php on line 2
7.4.魔法常量
名称 | 描述 |
_FILE_ | 当前文件名 |
_LINE_ | 当前行号 |
_FUNCTION_ | 当前函数名 |
_CLASS_ | 当前类名 |
_METHOD_ | 当前方法名 |
<?php echo __FILE__; echo '<br>'; echo __LINE__; echo '<br>'; function funcTest() { echo __FUNCTION__; } funcTest(); ?>
output
D:\AppServ\www\Basic7\demo15.php
5
funcTest
一个简洁的PHP可逆加密函数(分享)
深入PHP获取随机数字和字母的方法详解
解析如何屏蔽php中的phpinfo()函数
深入PHP中慎用双等于(==)的详解
解析PHP中如何将数组变量写入文件
PHP转换文件夹下所有文件编码的实现代码
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
PHP 常用数组内部函数(Array Functions)介绍
探讨各种PHP字符串函数的总结分析
PHP在线生成二维码(google api)的实现代码详解
PHP多线程批量采集下载美女图片的实现代码(续)
PHP批量采集下载美女图片的实现代码
PHP在线生成二维码代码(google api)
Thinkphp模板中使用自定义函数的方法
php 数组动态添加实现代码(最土团购系统的价格排序)
第六章 php目录与文件操作
第五章 php数组操作
第四章 php数学运算
第三章 php操作符与控制结构代码
第二章 PHP入门基础之php代码写法
php站内搜索并高亮显示关键字的实现代码
PHP防CC攻击实现代码
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
通达OA公共代码 php常用检测函数
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
php urlencode()与urldecode()函数字符编码原理详解
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
php的chr和ord函数实现字符加减乘除运算实现代码
php自定义函数call_user_func和call_user_func_array详解
PHP项目开发中最常用的自定义函数整理
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
php自定义函数之递归删除文件及目录
PHP自定义函数收代码