作为PHP的新手,讲到函数这部分,在这几个定义上有些许模糊的认识,就我所了解的,写下来,供大家交流,有错误之处,望大家回贴指正.
按正常逻辑分类说起:
global与$GLOBALS:global是在函数体(结构体存内存代码段)内寻找函数体外的全局变量, 如果找到有此变量会引入在函数体中使用,未找此变量则会在堆内存中申明此变量,一般global申明的变量不要给初值,申明后再赋值,之后此变量在此脚本执行结束前均有效.$GLOBALS[]是将一个值申明到超全局变量中,供申明后的任何地方使用,性质类似$_POST[];
&引用:变量的值一般都存储在堆内存中,而调用此变量的地址是存储在栈内存中的,通常'&引用'就相当于栈内存中另别名一个地址来指向原来存储在堆内存中的值,这个值改变,访问栈内存中指向这个值的地址所得的值自然都随着改变了.
static 与常量:这二个的值都在静态内存中存储,static在类和函数中使用,在第一次申明时写入静态内存,申明static变量也不需给初值,其值可以在类或函数中改变,而常量的值可以在当前脚本的的任何位置使用,常量赋值后是不可以改变的,申明时必须赋初值.
好了,就知道这么多,语言组织能力有点欠缺,大家轻拍..
分享到:
相关推荐
- 全局变量在函数内部使用需通过`global`关键字引用,如`global $val`,或使用`$GLOBALS`数组,如`$GLOBALS['val']`。 - 静态变量允许函数在每次调用时保持其内部状态,使用`static`关键字定义,如`static $val = ...
常量和变量处于不同的命名空间,所以`TRUE`与`$TRUE`是两个不同的概念。 2. **普通变量**: 通过`$`符号定义普通变量,例如`$a = "hello"`。变量的值可以在程序的不同部分被修改。 3. **可变变量**: 使用双`$$`...
超级全局变量如 `$GLOBALS`, `$SERVER`, `$POST`, `$GET`, `$COOKIE`, `$FILES`, `$ENV`, `$REQUEST`, 和 `$SESSION`,它们在整个脚本的生命周期中都可访问,无论在何处定义或使用。 1. **内置超级全局变量**:这些...
2. 变量的变量和引用: - 变量的变量:允许使用变量来引用另一个变量,如 `$$c` 或 `${$c}`。 - 变量的引用:使用 `&` 符号创建引用,修改被引用变量的值,也会直接影响到引用变量。 3. 强制类型转换: - PHP是...
常量与全局变量存在于不同的名字空间,比如`TRUE`和`$TRUE`是两个不同的实体。 2. **普通变量**: 普通变量的定义很简单,只需在变量名前加上`$`,如`$a = "hello"`。这类变量的值可以在程序的任何地方改变。 3. ...
在函数内部通过`global`关键字或`$GLOBALS`数组访问全局变量。 4. `echo`和`print`:两者都可以用来输出字符串,但`echo`通常比`print`稍快,因为`echo`可以接受多个参数,而`print`只能接受一个。如果尝试使用`...
需要注意的是,常量和全局变量在不同的名字空间中,这意味着例如`TRUE`和`$TRUE`是两个完全不同的实体。 #### 三、普通变量 普通变量是最常见的变量类型,定义方式如下: ```php $a = "hello"; ``` 这里的`$a`就是...
if (isset($_GET['GLOBALS']) ||isset($_POST['GLOBALS']) || isset($_COOKIE['GLOBALS']) || isset($_FILES['GLOBALS'])) { error(‘request_tainting’); } //是否开启rewrite if(!empty($_GET['rewrite'])) { $...
要在函数内部访问全局变量,需使用`global`关键字,或者通过`$GLOBALS`数组更新。 3. **静态变量**:使用`static`修饰符,可以让局部变量在函数每次调用时保留上一次的值,而非重新初始化。例如: ```php ...
- **全局变量**:在函数外部定义的变量,可以在整个脚本中访问,但在函数内部需要使用 `global $global_var;` 来引用。 - **静态变量**:在函数退出后仍保留其值,下次调用函数时仍然存在,如 `function test() { ...
静态变量通过static关键字定义,它仅在局部作用域中存在,即使函数执行结束,静态变量的值也不会消失。 在PHP中,ip处理函数ip2long()可以将IP地址转换成一个长整型数。 以上就是PHP基础面试题中涵盖的主要知识点...
`$GLOBALS` 是一个特殊的超级全局变量,它包含了当前作用域内所有全局变量的引用。通过这个数组可以在函数内部轻松地访问全局变量,而无需使用 `global` 关键字。 综上所述,了解这些基本的PHP语法规范对于编写高效...
5. **$GLOBALS 数组**:`$GLOBALS`是一个数组,它包含了所有全局变量的引用。你可以通过`$GLOBALS['varName']`来访问全局变量: ```php $a = 10; function show() { echo $GLOBALS['a']; // 访问全局变量 $a } show...
对于全局变量、静态变量和常量,必须使用相应的标记来说明,确保phpDocumentor能够识别。 最后,我们通过一段规范注释的PHP代码来加以演示: ```php /** * 文件名(sample2.php) * * 功能描述(略) * * @author ...
同时,还讲解了变量作用域(global、local、static、$_SESSION和$_GLOBALS)的概念。 3. **流程控制**:包括条件语句(if...else、switch...case)和循环结构(for、while、do...while、foreach)。通过实例演示...
在函数内部使用`global`关键字引用全局变量,但这种方法并不优雅,因为它使得代码依赖于全局状态,降低了代码的可读性和可维护性。 ```php function getNameByLevel($level) { global $g_levelConfig; require...
1 介绍 LuaBind 是一个帮助你绑定C++和Lua的库....引用或常量引用作为函数的第一个参数.该函数的剩下的参数将在Lua侧可见,而对象指针将被赋值给第一个 参数.如果我们有如下的C++代码: struct A { int ...