1、系统为每一个变量分配一个存储单元,变量名实质上就是计算机内存单元的名字,因此借助变量名就可以访问内存中的数据
2、PHP在使用变量之前并不需要先声明(PHP4之前需要先声明),只需为变量赋值即可。
3、PHP中变量名由$+标识符组成。
4、PHP中变量名区分大小写
5、PHP中给变量赋值的方法:
①直接赋值:字符串和数字类型的变量,用"="实现。
②变量间的赋值:赋值后两个变量使用各自的内存,互不干扰,是两块内存。
③引用赋值:PHP4之后引入的概念,用不同的名字访问同一个变量内容,使用&符号来实现,一个修改后全都都会修改。
6、按作用域划分:
①局部变量:
函数内部定义变量,作用域是该函数
②全局变量:
定义在所有函数外的变量,作用域是整个PHP文件,但在用户自定义函数内部不可用,除非使用global关键字在函数内部声明。
123456789101112131415 | <?php $str1 = '全局变量1' ; $str3 = '全局变量2' ; function test(){ $str2 = '局部变量' ; global $str3 ; global $str4 ; $str4 = '函数内部定义的全局变量' ; echo '函数内部:' . $str3 . '<p>' ; echo '函数内部:' . $str4 . '<p>' ; } test(); echo '全局:' . $str3 . '<p>' ; echo '全局:' . $str4 . '<p>' ; ?> |
③静态变量
在函数调用结束后扔保留变量值,当再次回到作用域时,还可继续使用原先的值。使用静态变量需要用static关键字。
用处:静态变量可以用来记录浏览人数,用户的聊天记录。
注意:静态变量只在第一次碰到时进行初始化,以后再碰到就不会进行初始化
<?php function test1(){ static $num =0; $num +=1; echo $num . ' ' ; } function test2(){ $num =0; $num +=1; echo $num . ' ' ; } for ( $i =0; $i <10; $i ++){ test1(); } echo '<p>' ; for ( $i =0; $i <10; $i ++){ test2(); } ?> |
7、PHP中for循环的demo
for ( $i =0; $i <10; $i ++){ //执行代码 } |
8、可变变量:允许动态改变一个变量的名称,其工作原理是该变量的名称由另一个变量的值来确定。实现过程就是在变量的前面再加一个($)
12345 | <?php $str1 = 'str2' ; $str2 = '字符串2' ; echo $ $str1 ; ?> |
分析:$$str1=$str2='字符串2'
9、预定义变量:通过预定义变量可以获取用户会话、用户OS的环境和本地OS的环境信息。
$_SERVER['SERVER_ADDR'] | 当前运行脚本所在的服务器的IP |
$_SERVER['SERVER_NAME'] | 当前运行脚本所在的服务器的主机名 |
$_SERVER['REQUEST_METHOD'] | 访问页面请求的方法,GET / HEAD / POST / PUT等 |
$_SERVER['REMOTE_ADDR'] | 正在浏览当前页面的用户的IP |
$_SERVER['REMOTE_HOST'] | 正在浏览当前页面的用户的主机名 |
$_SERVER['REMOTE_PORT'] | 正在浏览当前页面的用户端口 |
$_SERVER['SCRIPT_FILENAME'] | 当前执行脚本的绝对路径 |
$_SERVER['SERVER_PORT'] | 服务器使用的端口,默认为80 |
$_SERVER['SERVER_SIGNATURE'] | 包含服务器版本和虚拟主机名的字符串 |
$_SERVER['DOCUMENT_ROOT'] | 当前运行脚本所在的文档根目录,在服务器的配置文件中定义 |
$_COOKIE | 通过HTTPCookie传递到脚本的信息 |
$_SESSION | 包含与所有会话变量有关的信息 |
$_POST | 包含通过POST传递的参数的信息,用于获取通过POST方法提交的数据 |
$_GET | 包含通过GET传递的参数的信息,用于获取通过GET方法提交的数据 |
$GLOBALS | 由所有已定义全局变量组成的数组,变量名就是数组的索引 |
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦