第七章 php自定义函数实现代码


Posted in PHP onDecember 30, 2011

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与C#分别格式化文件大小的代码
May 14 PHP
Look And Say 序列php实现代码
May 22 PHP
PHP插入排序实现代码
Apr 04 PHP
ThinkPHP CURD方法之data方法详解
Jun 18 PHP
php判断GIF图片是否为动画的方法
Sep 04 PHP
自定义session存储机制避免会话保持问题
Oct 08 PHP
php中ob_flush函数和flush函数用法分析
Mar 18 PHP
WordPress后台中实现图片上传功能的实例讲解
Jan 11 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 PHP
PHP单例模式实例分析【防继承,防克隆操作】
May 22 PHP
PHP 观察者模式深入理解与应用分析
Sep 25 PHP
第六章 php目录与文件操作
Dec 30 #PHP
第五章 php数组操作
Dec 30 #PHP
第四章 php数学运算
Dec 30 #PHP
第三章 php操作符与控制结构代码
Dec 30 #PHP
第二章 PHP入门基础之php代码写法
Dec 30 #PHP
php 短链接算法收集与分析
Dec 30 #PHP
php的大小写敏感问题整理
Dec 29 #PHP
You might like
thinkphp配置连接数据库技巧
2014/12/02 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
javascript实现的基于金山词霸网络翻译的代码
2010/01/15 Javascript
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
setInterval,setTimeout与jquery混用的问题
2013/04/08 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
深入理解jQuery()方法的构建原理
2016/12/05 Javascript
Vue数据驱动模拟实现1
2017/01/11 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
angularjs $http调用接口的方式详解
2018/08/13 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
微信小程序云开发实现云数据库读写权限
2019/05/17 Javascript
Python操作MySQL数据库的方法
2018/06/20 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
python turtle库画一个方格和圆实例
2019/06/27 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
django跳转页面传参的实现
2020/09/17 Python
Hotels.com中国区:好订网
2016/08/18 全球购物
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
GWebs公司笔试题
2012/05/04 面试题
经济管理专业毕业生推荐信
2013/11/11 职场文书
高中学生自我评价范文
2014/09/23 职场文书
计划生育工作汇报
2014/10/28 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
校运会通讯稿
2015/07/18 职场文书
学雷锋感言
2015/08/03 职场文书
Python实现天气查询软件
2021/06/07 Python
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript