PHP的变量总结 新手推荐
作者:bea
PHP中不需要显示声明变量,变量声明可以与赋值同时进行。好的编程习惯是:所有变量应当在使用前进行声明,最好带有注释。一、变量的赋值 变量声明后就可以给其赋值,有两种方式:值赋值和引用赋值。 1、值赋值 $color = "red" ; $sum = 12+"15" ; /* $sum = 27 */ 2、 若希望两个变量指向一个值的同一个副本,则需要通过引用赋值。 引用赋值 所创建的变量与另一个变量引用的内容相同,如果多个变量引用了同一个内容,修改其中任意一个变量,在其余的变
PHP中不需要显示声明变量,变量声明可以与赋值同时进行。
好的编程习惯是:所有变量应当在使用前进行声明,最好带有注释。一、变量的赋值 变量声明后就可以给其赋值,有两种方式:值赋值和引用赋值。 1、值赋值 $color = "red" ; $sum = 12+"15" ; /* $sum = 27 */ 2、 若希望两个变量指向一个值的同一个副本,则需要通过引用赋值。 引用赋值 所创建的变量与另一个变量引用的内容相同,如果多个变量引用了同一个内容,修改其中任意一个变量,在其余的变量上都将有所反映。 例子: <?php $value1 = "hello" ; $value2 = &value1 ; /*$value1 and $value2 both equal "hello" .*/ $value2 = "goodbye" ; /*$value1 and $value2 both equeal "goodbye". */ ?> 二、变量的作用域 PHP脚本的任何位置都可以声明变量,但声明变量的位置会大大影响访问变量的范围。这个可访问的范围称为作用域(scope)。 PHP变量的4中作用域: △ 局部变量 △ 函数参数 △ 全局变量 △ 静态变量 1、局部变量 在函数中声明的变量认为是局部变量,只能在函数中引用,退出声明变量的函数时,该变量及相应的值就会撤销。消除了导致全局访问的变量被有意或无意修改的可能性。 $x = 4 ; function assignx ( ) { $x = 0 ; print "$x inside function is $x . <br>" ; } assignx ( ) ; print "$x outside of function is $x . <br>" ; 代码的执行结果为: $x inside function is 0 . $x outside function is 4 . 2、函数参数 PHP和其他编程语言一样,任何接受参数的函数都必须在函数首部中声明这些参数。虽然这些参数接受函数外部的值,但退出函数后就无法再访问这些参数。(按引用传递的参数除外) 例如: function x10 ( $value ) { $value = $value * 10 ; return $value ; } 函数执行完毕,参数即将撤销。 3、全局变量 与局部变量相反,全局变量可以在程序的任何位置访问。当在函数中改变全局变量时,需要在该函数中将变量显示地生命为全局变量,只要在函数中的该变量前加上GLOBAL即可。 例如: $somevar = 15 ; function addit ( ) { GLOBAL $somevar ; $somevar ++ ; print "somevar is $somevar" ; } addit ( ) ; $somevar 显示的值应为16 ,但是,若去掉 GLOBAL $somevar ; 这行,变量$somevar 将被隐含的设置为0,再加1 ,最后显示的值就是1 。 声明全局变量的另一方法是使用PHP的$GLOBAL数组,如下: $somevar = 15 ; function addit ( ) { $GLOBALS[ 'somevar' ]++ ; } addit ( ) ; print "somevar is ". $GLOBALS[ 'somevar' ] ; 返回值如下: somevar is 16 . 4、静态变量 静态(static)作用域。普通变量的函数参数在函数结束时会撤销,但静态变量在函数退出时不会丢失值,并且再次调用此函数时还能保留这个值。在汴梁明前加上关键字 STATIC 就可以声明一个静态变量。 STATIC $somevar ; 考虑一个例子: function keep_track ( ) { STATIC $count = 0 ; $count ++ ; print $count ; print "<br>" ; } keep_track ( ) ; keep_track ( ) ; keep_track ( ) ; keep_track ( ) ; 若$count 没有被指明为静态(相应的,$count就是一个局部变量),输出将会是 1 1 1 1 因为$count是静态的,它会在每次执行函数时保留前面的值。输出如下: 1 2 3 4 静态作用域对于递归函数很有用。递归函数(recursive function)是一个功能强大的编程概念,它是一个可以重复调用自身的函数,直到满足某个条件为止。 5、 PHP的超级全局变量 PHP提供了很多有用的预定义变量,可以在执行脚本的人和位置访问,用于提供大量与环境有关的信息。可以通过这些变量获得关于当前用户会话、用户操作系统环境和本地操作环境等详细信息。PHP会创建部分变量,而其他许多变量的可用性和值则取决于操作系统和WEB服务。 输出所有预定义变量: foreach ( $_SERVER as $var => $value ) { echo "$var => $value <br>" ; } 显示用户的IP地址: print "HI!Your IP address is ".$_SERVER[ ' REMOTE_ADDR' ] ; PHP中要使用预定义变量数组,必须在PHP.INI文件中启用配置参数 track_vars 。
有用 | 无用
好的编程习惯是:所有变量应当在使用前进行声明,最好带有注释。一、变量的赋值 变量声明后就可以给其赋值,有两种方式:值赋值和引用赋值。 1、值赋值 $color = "red" ; $sum = 12+"15" ; /* $sum = 27 */ 2、 若希望两个变量指向一个值的同一个副本,则需要通过引用赋值。 引用赋值 所创建的变量与另一个变量引用的内容相同,如果多个变量引用了同一个内容,修改其中任意一个变量,在其余的变量上都将有所反映。 例子: <?php $value1 = "hello" ; $value2 = &value1 ; /*$value1 and $value2 both equal "hello" .*/ $value2 = "goodbye" ; /*$value1 and $value2 both equeal "goodbye". */ ?> 二、变量的作用域 PHP脚本的任何位置都可以声明变量,但声明变量的位置会大大影响访问变量的范围。这个可访问的范围称为作用域(scope)。 PHP变量的4中作用域: △ 局部变量 △ 函数参数 △ 全局变量 △ 静态变量 1、局部变量 在函数中声明的变量认为是局部变量,只能在函数中引用,退出声明变量的函数时,该变量及相应的值就会撤销。消除了导致全局访问的变量被有意或无意修改的可能性。 $x = 4 ; function assignx ( ) { $x = 0 ; print "$x inside function is $x . <br>" ; } assignx ( ) ; print "$x outside of function is $x . <br>" ; 代码的执行结果为: $x inside function is 0 . $x outside function is 4 . 2、函数参数 PHP和其他编程语言一样,任何接受参数的函数都必须在函数首部中声明这些参数。虽然这些参数接受函数外部的值,但退出函数后就无法再访问这些参数。(按引用传递的参数除外) 例如: function x10 ( $value ) { $value = $value * 10 ; return $value ; } 函数执行完毕,参数即将撤销。 3、全局变量 与局部变量相反,全局变量可以在程序的任何位置访问。当在函数中改变全局变量时,需要在该函数中将变量显示地生命为全局变量,只要在函数中的该变量前加上GLOBAL即可。 例如: $somevar = 15 ; function addit ( ) { GLOBAL $somevar ; $somevar ++ ; print "somevar is $somevar" ; } addit ( ) ; $somevar 显示的值应为16 ,但是,若去掉 GLOBAL $somevar ; 这行,变量$somevar 将被隐含的设置为0,再加1 ,最后显示的值就是1 。 声明全局变量的另一方法是使用PHP的$GLOBAL数组,如下: $somevar = 15 ; function addit ( ) { $GLOBALS[ 'somevar' ]++ ; } addit ( ) ; print "somevar is ". $GLOBALS[ 'somevar' ] ; 返回值如下: somevar is 16 . 4、静态变量 静态(static)作用域。普通变量的函数参数在函数结束时会撤销,但静态变量在函数退出时不会丢失值,并且再次调用此函数时还能保留这个值。在汴梁明前加上关键字 STATIC 就可以声明一个静态变量。 STATIC $somevar ; 考虑一个例子: function keep_track ( ) { STATIC $count = 0 ; $count ++ ; print $count ; print "<br>" ; } keep_track ( ) ; keep_track ( ) ; keep_track ( ) ; keep_track ( ) ; 若$count 没有被指明为静态(相应的,$count就是一个局部变量),输出将会是 1 1 1 1 因为$count是静态的,它会在每次执行函数时保留前面的值。输出如下: 1 2 3 4 静态作用域对于递归函数很有用。递归函数(recursive function)是一个功能强大的编程概念,它是一个可以重复调用自身的函数,直到满足某个条件为止。 5、 PHP的超级全局变量 PHP提供了很多有用的预定义变量,可以在执行脚本的人和位置访问,用于提供大量与环境有关的信息。可以通过这些变量获得关于当前用户会话、用户操作系统环境和本地操作环境等详细信息。PHP会创建部分变量,而其他许多变量的可用性和值则取决于操作系统和WEB服务。 输出所有预定义变量: foreach ( $_SERVER as $var => $value ) { echo "$var => $value <br>" ; } 显示用户的IP地址: print "HI!Your IP address is ".$_SERVER[ ' REMOTE_ADDR' ] ; PHP中要使用预定义变量数组,必须在PHP.INI文件中启用配置参数 track_vars 。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- flash用php连接数据库的代码
- php中用数组的方法设置cookies
- php 获取全局变量的代码
- php强制下载类型的实现代码
- PHP在字符断点处截断文字的实现代码
- PHP SEO优化之URL优化方法
- PHP运行时强制显示出错信息的代码
- PHP大批量数据操作时临时调整内存与执行时间的方法
- PHP中Date()时间日期函数的使用方法小结
- PHP5中虚函数的实现方法分享
- Windows下利用Gvim写PHP产生中文乱码问题解决方法
- php中将地址生成迅雷快车旋风链接的代码[测试通过]
- PHP curl模拟浏览器采集阿里巴巴的实现代码
- PHP中的session永不过期的解决思路及实现方法分享
- 关于session在PHP5的配置文件中的详细设置参数说明
- PHP session有效期session.gc_maxlifetime
- SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
- PHP中break及continue两个流程控制指令区别分析
- php中显示数组与对象的实现代码