<?php
$a = 3; //全局变量
function a(){
echo $a;
}
a(); //Notice: Undefined variable: a
$b = 2; //全局变量
function b($b=3){
echo $b;
}
b(); //输出3
/*
局部变量和全局变量声明了变量的作用范围
局部变量
函数内部声明的变量或函数的参数,只能在函数内部使用,
全局变量 在函数外声明的变量:可用于本页面函数外的其它任何地方
*/
$c = 3;
function c(){
global $c;
}
c(); echo $c; //输出3
$d = 3;
function d(){
global $d;
$d = 5;
}
d(); echo $d;
//输出5 在函数内声明了一个全局变量,和函数外声明的变量是同一个变量*/
// 引用变量
$t1=10;$t2=&$t1;$t2 = 20;
echo $t1;
// 输出20 $t2存的是$t1的地址,$t2和$t1其中一个变另一个就变
$e = 5;
function e(&$e=6){
echo $e;
}
e();echo $e; //输出6 5
$f = 6;
function f(&$f){
$f = $f+1;
}
f($f);echo $f; //输出7
/*如果在函数定义中有&出现,说明这个参数是一个引用参数,调用函数传参数时就必须传一个变量,调用函数后函数外面声明的全局变量的值也会跟着改变*/
/*返回值就是函数执行后的结果,return后面的语句不执行,一个自定义函数只能有一个return或没有return*/
function g(){
return 7;
echo '未输出';
}
g() ; // 无输出
//变量函数
$var="array_sum"; //把函数名(用引号包围)赋给一个变量
$h = array(5,5);
echo $var($h); //变量名代替函数名 输出10
//匿名函数--php5.3的新特性 常用作回调函数的参数
$var=function($var1,$var2){
return $var1*$var2;
}; //要加分号
echo $var(1,2); //输出2
//静态变量--用static关键字声明
$h = 8;
function h(){
static $h=8;
$h++;
return $h;
}
h();$var=h();echo $var; //输出10 调用函数后函数内声明的变量没被摧毁
//回调函数 ...
/*所有输出如下↓↓
Notice: Undefined variable: a in ...
3352065710210 */
$a = 3; //全局变量
function a(){
echo $a;
}
a(); //Notice: Undefined variable: a
$b = 2; //全局变量
function b($b=3){
echo $b;
}
b(); //输出3
/*
局部变量和全局变量声明了变量的作用范围
局部变量
函数内部声明的变量或函数的参数,只能在函数内部使用,
全局变量 在函数外声明的变量:可用于本页面函数外的其它任何地方
*/
$c = 3;
function c(){
global $c;
}
c(); echo $c; //输出3
$d = 3;
function d(){
global $d;
$d = 5;
}
d(); echo $d;
//输出5 在函数内声明了一个全局变量,和函数外声明的变量是同一个变量*/
// 引用变量
$t1=10;$t2=&$t1;$t2 = 20;
echo $t1;
// 输出20 $t2存的是$t1的地址,$t2和$t1其中一个变另一个就变
$e = 5;
function e(&$e=6){
echo $e;
}
e();echo $e; //输出6 5
$f = 6;
function f(&$f){
$f = $f+1;
}
f($f);echo $f; //输出7
/*如果在函数定义中有&出现,说明这个参数是一个引用参数,调用函数传参数时就必须传一个变量,调用函数后函数外面声明的全局变量的值也会跟着改变*/
/*返回值就是函数执行后的结果,return后面的语句不执行,一个自定义函数只能有一个return或没有return*/
function g(){
return 7;
echo '未输出';
}
g() ; // 无输出
//变量函数
$var="array_sum"; //把函数名(用引号包围)赋给一个变量
$h = array(5,5);
echo $var($h); //变量名代替函数名 输出10
//匿名函数--php5.3的新特性 常用作回调函数的参数
$var=function($var1,$var2){
return $var1*$var2;
}; //要加分号
echo $var(1,2); //输出2
//静态变量--用static关键字声明
$h = 8;
function h(){
static $h=8;
$h++;
return $h;
}
h();$var=h();echo $var; //输出10 调用函数后函数内声明的变量没被摧毁
//回调函数 ...
/*所有输出如下↓↓
Notice: Undefined variable: a in ...
3352065710210 */