当我们在函数中要操作某一外部变量时,使用的方法有以下几种
引用传递
function pass_by_reference(& $num){ // 注意$num作为你传递的参数的引用 // 其他变量也可以引用此变量以指向参数地址 $temp = & $num; $temp ++;}$arg = 1;pass_by_reference($arg);echo $arg; // 2pass_by_reference($arg);echo $arg; // 3
全局数组
function add(){ $GLOBALS['num'] ++;}$num = 0;add();echo $num;
全局变量声明 global 这个最有意思 表象看起来就是给全局数组里的变量声明一个同名引用
function add(){ //其实这里的global修饰符的运作机制为 $num = & $GLOBAL['num'] 即定义一个全局变量$num的引用 global $num; $num ++;}$num = 0;add();echo $num;