第七章 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 相关文章推荐
实用函数4
Nov 08 PHP
PHP中常用数组处理方法实例分析
Aug 30 PHP
PHP中的正则表达式函数介绍
Feb 27 PHP
PHP中的按位与和按位或操作示例
Jan 27 PHP
php检测useragent版本示例
Mar 24 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
May 15 PHP
php文件操作之小型留言本实例
Jun 20 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
May 19 PHP
PHP入门教程之面向对象基本概念实例分析
Sep 11 PHP
thinkPHP引入类的方法详解
Dec 08 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
Jun 27 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 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
用PHP实现的随机广告显示代码
2007/06/14 PHP
jQuery之浮动窗口实现代码(两种方法)
2010/09/08 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
2015/11/25 Javascript
JavaScript Split()方法
2015/12/18 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
js实现本地时间同步功能
2017/08/26 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
JS中双击和单击事件冲突的解决方法
2018/04/09 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
微信小程序自定义组件components(代码详解)
2019/10/21 Javascript
读写json中文ASCII乱码问题的解决方法
2016/11/05 Python
python在线编译器的简单原理及简单实现代码
2018/02/02 Python
Python实现的tcp端口检测操作示例
2018/07/24 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
python实现双人五子棋(终端版)
2020/12/30 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
python爬虫线程池案例详解(梨视频短视频爬取)
2021/02/20 Python
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
linux面试题参考答案(7)
2014/07/24 面试题
怎样写留学自荐信
2013/11/11 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
高中生学习计划书
2014/09/15 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
争做文明公民倡议书
2019/06/24 职场文书
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python
深入浅析Django MTV模式
2021/09/04 Python
利用Python多线程实现图片下载器
2022/03/25 Python
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL