自定义函数语法格式
";
table();
echo "xxxxxxxxxxxxxxxxxxxxxxx
";
table();
echo "hello world
";
table();
table();
table();
function table(){
echo '';
echo '表格
';
for($i=0; $i<10; $i++) {
$bg = ($i%2==0) ? "#cccccc" : "";
echo '';
for($j=0; $j < 20; $j++ ) {
echo ''.($i*10+$j).' ';
}
echo ' ';
}
echo '
';
}
table();
自定义函数参数
';
echo ''.$tablename.'
';
for($i=0; $i<$rows; $i++) {
$bg = ($i%$num==0) ? $color : "";
echo '';
for($j=0; $j < $cols; $j++ ) {
echo ''.($i*10+$j).' ';
}
echo ' ';
}
echo '';
}
自定义函数返回值
';
$str .= ''.$tablename.'
';
for($i=0; $i<$rows; $i++) {
$bg = ($i%$num==0) ? $color : "";
$str.= '';
for($j=0; $j < $cols; $j++ ) {
$str .= ''.($i*10+$j).' ';
}
$str .= ' ';
}
$str .= '';
return $str;
echo "#################";
}
if(function_exists("table2")) {
echo "存在";
}else{
echo "不存在";
}
局部变量
函数内部声明的变量, 只能在函数内部调用, 这就是--------局部变量
函数的参数,就是一个局部变量, 声明成形成的, 可以在调用时,给值, 传值
function demo($sex) {
$age = 30;
echo "高老师很帅{$age}, 是{$sex}
";
}
demo("男");
echo $sex;
全局变量
函数内部声明的变量, 只能在函数内部调用, 这就是--------局部变量
函数的参数,就是一个局部变量, 声明成形成的, 可以在调用时,给值, 传值
全局变量, 在函数外部声明的变量,可以在每个函数中使用。 (顺序)
在函数内部如果需要使用函数外部的变量, 需要使用global关鍵字,将外部变量引入
$_POST['a']=100;
$_GET['b']=300;
function demo() {
echo $_POST['a'];
}
demo();
静态变量
在函数中声明的静态变量, 只在第一次调用时声明.
第二次以后, 一看是静态变量, 就先到静态区中,看一下有没有这个变量, 如果有就使用, 而不去再声明
静态变量,在同一个函数多次调用中 共享
static $c=99;
function demo() {
static $a = 0;
$a++;
echo $a."
";
}
function test() {
static $a = 0;
$a++;
}
echo $c;
demo();
demo();
test();
test();
test();
test();
demo();
demo();
demo();
默认参数函数
";
}
demo();
demo("妹子");
demo("妹子",20);
demo("妹子",20,"女");
demo("妹子",20,"女",'[email protected]');
demo()
?>
可变参数
变量函数
如果将一个函数名称(字符串), 给一个变量(字符串), 然后在这个变量后面加上括号, 就会调用这个变量值对应函数
回调函数
在使用一个函数的时候, 如果传一个变量, 不能解决多大的问题, 就需要将一个过程进入到函数中, 改变函数的执行行为.
在函数的调用时, 在参数中传的不是一个变量或一个值, 而是一个函数, 这就是回调函数参数
strlen($b))
return 1;
else if(strlen($a)';
print_r($arr);
?>
制作回调函数
在使用一个函数的时候, 如果传一个变量, 不能解决多大的问题, 就需要将一个过程进入到函数中, 改变函数的执行行为.
在函数的调用时, 在参数中传的不是一个变量或一个值, 而是一个函数, 这就是回调函数参数
制作回调函数
";
}
}
function test($i){
if($i==strrev($i))
return true;
else
return false;
}
demo(500,"test");
?>
制作回调函数
参数个数如果是变长时, 就不能直接调用这个函数
";
}
}
function test($i){
if($i==strrev($i))
return true;
else
return false;
}
demo(500,"test");
?>
制作回调函数
";
}
}
class Filter{
function one($i){
if($i%3==0){
return true;
}else{
return false;
}
}
static function two($i){
if(preg_match('/3/',$i)){
return true;
}else{
return false;
}
}
}
function test($i){
if($i==strrev($i))
return true;
else
return false;
}
demo(500,array(new Filter(),"one"));
?>
系统函数
";
}else{
echo "文件:{$nfile}
";
}
}
closedir($dir);
}
fordir($dirname);
?>
递归函数
";
fordir($nfile);
}else{
echo"文件:{$nfile}
";
}
}
closedir($dir);
}
fordir($dirname);
?>
加载自定义函数库
匿名函数