文档章节

php变量1

o
 oneboi
发布于 2016/10/13 12:27
字数 553
阅读 5
收藏 0

#1. scope

  1. 局部变量
  2. 全局变量
  3. 超全局变量
  4. 静态变量

输入图片说明 ###1. 局部变量 (函数内部变量) 在函数内部声明的变量就是局部变量,它保存在内存的栈中,所以速度很快。 局部变量很有用,因为它消除了出线意外副作用的可能性。

###2. 函数参数 参数可以按值传递,也可以按引用传递。 任何接受参数的函数都必须在函数首部中声明这些参数。 ###3 全局变量 与局部变量相反,全局变量可以在程序的任何地方访问。 只要在变量前面加上关键字GLOBAL,就可以将其识别为全局变量。

<?php  
    $var = 15;  
      
    function add() {  
        GLOBAL $var;  
        $var++;  
        print "var is $var";  
    }  
    add();  
?>

如果省略GLOBAL $var;这行代码,变量$var的值在程序运行后的值为1,因为$var在函数add()中被认为是一个局部变量。这个局部声明将隐含地设置为0,然后是1,最后显示的值就是1。 ###4 静态变量 函数参数在函数退出时会撤消,而静态变量则不同,静态变量在函数退出时不会丢失值,并且再次调用此函数时还能保留这个值。 在变量名前加上关键字STATIC就可以声明一个静态变量:

<?php  
    function keep_track() {  
        STATIC $count = 0;  
        $count++;  
        print $count;  
        print "<br>";  
    }  
      
    keep_track();  
    keep_track();  
    keep_track();  
?>  

如果变量$count未指明为STATIC,就是说,$count就会成为一个局部变量,输出将会是“1 1 1”。 但是,因为$count是静态的,它会在每次执行函数时保留前面的值,所以输出为“1 2 3” 静态作用域对递归函数很有用。 递归函数recursive function是一个功能强大的编程概念,它是一个可以重复调用自身的函数,直到满足某个条件为止。

###5 超级全局变量 $_GET $_POST等内嵌超级全局变量无论在函数内还是函数外都是可见的。

###6 条件语句和循环语句中的变量

外部可见,示例代码如下:

    if(3>2){
        $v = 10;
    }    
    print_r($v);   //输出10

输入图片说明

© 著作权归作者所有

o
粉丝 2
博文 89
码字总数 29764
作品 0
昆明
私信 提问
[转]SMARTY模板中如何使用get,post,request,cookies,sessio...

SMARTY模板中如何使用get,post,request,cookies,session,server变量 {$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量。例...

GavinTop
2013/09/24
167
0
SMARTY模板中如何使用get,post,request,cookies,session,serv

{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量。例如,直接在模板中访问页面请求变量、获取访问模板时的时间戳、直接访...

开卷书生
2014/11/15
62
0
PHP学习笔记1:基础知识快速浏览

1、4种PHP标记 1)XML风格:推荐 <?php echo 'test1';?> 2)简短风格: <? echo 'test2';?> 3)SCRIPT风格: <script language ='php'> echo 'test3';</script> 4)ASP风格: <% echo 'test4......

slyso
2015/06/30
188
0
PHP中global与$GLOBALS['']的区别

根据官方的解释是 $GLOBALS['var'] 是外部的全局变量$var本身。 global $var 是外部$var的同名引用或者指针。(错误:是个别名引用而已,非指针!!!) 举例说明一下: php纯技术探讨交流群...

速贷100
2017/03/08
0
0
php的引用(就是在变量或者函数、对象等前面加上&符号)

php的引用(就是在变量或者函数、对象等前面加上&符号) 在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中...

晨曦之光
2012/03/09
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot初探---spring-boot-starter-web究竟干了啥

上一篇已经简单介绍了启动类的部分,这一篇主要讨论一下springboot引入的哪些依赖 我们都知道想用springboot做一个web应用,首先要做的是引入相关依赖,两步操作: 1、添加spring-boot-start...

计算机狼
33分钟前
5
0
基于Rocket.chat搭建内网聊天系统(使用docker,本机不需要安装meteor)

您可能不希望使用标准的Docker命令,而是希望对部署进行更多的自动化管理。这就是使用Docker-compose可能会派上用场的地方。 确保您已安装Docker和Docker-compose并且可以正常运行。 docker...

吴伟祥
35分钟前
6
0
conda 更新源

更新conda 源为阿里源 conda config --add channels http://mirrors.aliyun.com/pypi/simple conda config --set show_channel_urls yes 阿里云: http://mirrors.aliyun.com/pypi/simple/ 豆......

Mr_Tea伯奕
36分钟前
4
0
java 泛型使用

每次写泛型方法都翻下百度,还是自己记录下把。 1、定义一个泛型方法,使用传入参数类型来传递泛型。这种用法在封装json序列化工具类应该会用到。 List<xxx> aa = getList(xxx.class);pr...

朝如青丝暮成雪
40分钟前
6
0
深入了解Java模板引擎Freemarker

前言 常用的Java模板引擎包括:JSP、Freemarker、Thymeleaf、Velocity,从Github上查阅到这几款主流的模板引擎的性能的对比,总体上看,JSP、Freemarker、Thymeleaf、Velocity在性能上差别不...

code-ortaerc
41分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部