您的位置:首页 > 职场人生

.NET程序员学PHP要注意的坑-PHP函数、回调函数、自定义函数库

2015-12-02 19:19 573 查看
<?php
/*
* PHP函数、变量作用域
* 与其他语言不同的地方
*
*/
//函数的声明、调用:
//没什么特殊的地方,都差不多
echo GetOSName();
function GetOSName()
{                       //要使用外部全局变量,global $var声明一下
static $s_Counter = 1;   //静态变量,只有第一次调用初始化,后续调用共享变量
echo $s_Counter;
$s_Counter++;
$os = PHP_OS;
return $os;         //return要返回多个值的话,只能用数组
}
echo GetOSName();
function TestReferenceVar(&$arg1)
{
$arg1 += 1;
}
$arg2 = 0;
TestReferenceVar($arg2);    //引用方式传参
echo $arg2;
//默认参数
function person($name, $age, $gender="Male")    //参数顺序一样,可选参数放在右边
{
echo "Name:".$name."Age:".$age."Gender:".$gender;
}
person("张三", 18);
//回调函数:手册中用callback描述的意为回调
//mixed funcName(callback arg)
$callback1 = 'GetOSName';       //前面定义的函数名
function callUserFunction($functionName)    //函数名作为实参传入
{
return $functionName();     //调用传入的函数
}
echo callUserFunction($callback1);
//call_user_func_array()自定义回调函数
//1.call_user_func_array(array('类名', '静态方法名'), array('参数1', '参数..'))回调静态方法
//2.call_user_func_array(array(对象引用, '方法名'), array(参数列表))回调普通对象方法
//递归函数:与C#没啥分别
//自定义函数库:自定义的函数放在N个PHP文件中,就是自定义函数库。通过include,require加载到其他文件使用
//在文件最前面用require(), 在分支中用到时再加载用include。require_once, include_once避免重复载入。
//require加载遇到错误,程序会停止执行,include不会停止,继续执行。
//require和include不是函数,是语言结构,可不用括号:include 'xx.php'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PHP