第七章 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实现多服务器session共享之NFS共享的方法
Mar 16 PHP
『PHP』PHP截断函数mb_substr()使用介绍
Apr 22 PHP
php object转数组示例
Jan 15 PHP
使用PHP导出Redis数据到另一个Redis中的代码
Mar 12 PHP
C#使用PHP服务端的Web Service通信实例
Apr 08 PHP
一个PHP实现的轻量级简单爬虫
Jul 08 PHP
composer.lock文件的作用
Feb 03 PHP
PHP获取用户访问IP地址的5种方法
May 16 PHP
Smarty3配置及入门语法
Feb 22 PHP
详解Yaf框架PHPUnit集成测试方法
Dec 27 PHP
让Laravel API永远返回JSON格式响应的方法示例
Sep 05 PHP
Laravel获取所有的数据库表及结构的方法
Oct 10 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
4.与数据库的连接
2006/10/09 PHP
PHP4实际应用经验篇(9)
2006/10/09 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
PHP中redis的用法深入解析
2014/02/20 PHP
php遍历文件夹和文件列表示例分享
2014/03/11 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
JavaScript中清空数组的三种方法分享
2011/04/07 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
不使用jquery实现js打字效果示例分享
2014/01/19 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
输入法的回车与消息发送快捷键回车的冲突解决方法
2016/08/09 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
2016/08/29 Javascript
Vue.js第四天学习笔记
2016/12/02 Javascript
ionic2中使用自动生成器的方法
2018/03/04 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
JS实现图片切换特效
2019/12/23 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
跟老齐学Python之关于循环的小伎俩
2014/10/02 Python
Python实现的拉格朗日插值法示例
2019/01/08 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
python实现随机加减法生成器
2020/02/24 Python
Python中的特殊方法以及应用详解
2020/09/20 Python
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
2018/03/02 HTML / CSS
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
学生会竞聘书范文
2014/03/31 职场文书
保护环境倡议书300字
2014/05/19 职场文书
文明好少年事迹材料
2014/08/19 职场文书
2014党员批评和自我批评思想汇报
2014/09/21 职场文书
三峡人家导游词
2015/01/31 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
分享一些Java的常用工具
2021/06/11 Java/Android
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android