PHP基础之变量
来源:互联网 发布:中介者设计模式 java 编辑:程序博客网 时间:2024/05/18 06:39
PHP中的变量用一个美元符号($)+变量名的形式来表示,同样变量名是大小写敏感的。变量名由下划线或者字母+任意数量的字母,数字或者下划线组成。
此处所说的字母不包含特殊字符,而是a-z,A-Z,ASCII字符127-255的字符。同样值得留意的是$this是一个特殊变量,不能被赋值的。
看到这里相信会有人忍不住试一下输出$this会有什么结果,让我一起看一下:
echo $this;
以下是程序的错误输出:
Fatal error: Uncaught Error: Using $this when not in object context in D:\Programs\PHP\PHP_Variable\PHP_Variable.php:65 Stack trace: #0 {main} thrown in
从字面意思我们可以看出$this缺少上下文信息,稍微联想以下,可以想到$this的用武之地应该是在class等场景中,这里就不再了解。
啰嗦了这么多,让我看下变量命名的实例:
$student_name = "LiLi"; $_student_count = 90; $student_course_003 = "语文";
虽然在PHP中不需要在定义变量的同时进行初始化,未初始化的变量会具有其类型的默认值,所以我们应该有一个好的习惯,申明的时候指定默认值。
var_dump($student); echo "<br>";//Notice: Undefined variable: student in D:\Programs\PHP\PHP_Variable\PHP_Variable.php on line 69 NULL $student .= "hello"; var_dump($student); echo "<br>";// string(5) "hello" $unset_int; var_dump($unset_int); echo "<br>";//Notice: Undefined variable: unset_int in D:\Programs\PHP\PHP_Variable\PHP_Variable.php on line 77 NULL $unset_int += 10; var_dump($unset_int); echo "<br>";//int(10) $unset_array; var_dump($unset_array); echo "<br>";//Notice: Undefined variable: unset_array in D:\Programs\PHP\PHP_Variable\PHP_Variable.php on line 84 NULL $unset_array[0] = "hello"; var_dump($unset_array); echo "<br>";//array(1) { [0]=> string(5) "hello" }
看到这里我们简单再了解一下php中的预定义变量。
对于php所有的脚本来说,它本身提供了大量的预定义变量,这些变量将所有的外部变量标识成内建环境变量。
1、超全局变量
在全部作用域中始终可以使用的内置变量,简单一点来说就是全球通行证,不管在哪用我没问题。大多数预定义变量都是这类的。
$GLOBALS 引用全局作用域中可用的全部变量
$_SERVER 服务器和执行环境
$_GET http get变量
$_POST http post 变量
$_FILES http 文件上传变量
$_COOKIE http cookies
$_SESSION session变量
$_REQUEST http request变量
$_ENV 环境变量
变量范围
变量的范围就是变量的生效范围,也就是变量在哪里可以使用。大部分的php变量只有一个单独的范围。
1.global
全局变量,和c语言稍有不同的是,php中的全局变量在函数中使用时必须申明为global。
$x = 10; $y = 15; function sum() { global $x,$y; echo "x=".$x; echo "<br>"; echo "y=".$y; echo "<br>"; $y = $x + $y; echo "y=".$y; echo "<br>"; } sum(); echo "x=".$x; echo "<br>"; echo "y=".$y; echo "<br>";
x=10y=15y=25x=10y=25
Notice: Undefined variable: x in D:\Programs\PHP\PHP_Variable\PHP_Variable.php on line 101x=Notice: Undefined variable: y in D:\Programs\PHP\PHP_Variable\PHP_Variable.php on line 103y=Notice: Undefined variable: x in D:\Programs\PHP\PHP_Variable\PHP_Variable.php on line 105Notice: Undefined variable: y in D:\Programs\PHP\PHP_Variable\PHP_Variable.php on line 105y=0x=10y=15
由于$x,$y是定义在函数sum中的局部变量,而且没有使用global来使用全局变量,所以函数内容使用的是没有赋值的局部变量。
2.static
静态变量仅在局部函数中存在,当程序执行,离开作用域的时候,该变量并未被销毁,其值任然存在。
function static_fun() { static $x = 10; $x++; echo $x; echo "<br>"; } static_fun(); static_fun(); static_fun();
输出:
111213
变量引用
PHP中允许两个变量同时指向同一个内容。
$x = 100; $y = &$x; echo $x;//100 echo "<br>"; echo $y;//100 echo "<br>"; $y = 115; echo $x;//115 echo "<br>";
阅读全文
1 0
- php基础之变量
- PHP基础之变量
- PHP基础之变量定义
- PHP基础之变量类型
- PHP基础之变量、可变变量、外部变量
- php基础之预定义变量
- PHP基础之类型转换+外部变量
- PHP基础之变量(2)
- php杂谈【基础篇】之_2.PHP变量定义方法
- php基础一-----变量
- 20. PHP 变量基础
- PHP基础--变量
- PHP基础-变量
- PHP基础之变量传值、常量、魔术常量、变量常规检测
- PHP之旅--变量
- PHP变量之细节
- PHP初学之变量
- php之变量
- 继电器知识
- 一个好用的工具类基类
- Java 反射由浅入深 | 进阶必备
- list集合中的某个值放到第一的位置
- flume实现从kafka读取消息到hive
- PHP基础之变量
- 牛客网刷题知识点总结(四)基本数据类型
- windows7 64,32位下scrapy爬虫框架的环境搭建
- svn库迁移命令
- 数据结构实验之排序一:一趟快排
- Linux网络
- win10管理员已阻止你运行此应用”解决方法
- vue-resouce设置请求头
- MySQL- 5.7 sys schema笔记