博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP5学习笔记-变量
阅读量:6856 次
发布时间:2019-06-26

本文共 5624 字,大约阅读时间需要 18 分钟。

PHP的变量名以美元符号$开始, 可以包含数字,字母,以及下划线, 只能字母或者下划线开头,不能以数字开头.

$str = "hey, 妈妈叫你回去7饭饭拉"; echo $str;

还有一种是变量间的赋值

1) 一般赋值, 两个变量享有不同内存区域, 改变原变量不会影响第二个变量

$num1 = 1; $num2 = $num1; $num1= 3; echo $num1 .'<br/>'; echo $num2 .'<br/>';

2) 传址/引用赋值

从PHP4.0开始引入了传址/引用赋值, 在原变量前加 &符号, 表示对原变量的引用, 原变量改变,引用的变量的值也会相应改变

$num1 = 1; $num2 = &$num1; $num1= 3; echo $num1 .'<br/>'; echo $num2 .'<br/>';

变量的作用域

分全局, 局部, 静态变量

1)全局变量

定义在函数外部的变量,作用域是整个PHP文件

在函数内部要使用全局变量,方式有两种:

 一种是在函数内,对要使用的全局变量使用global关键字进行声明,然后再使用就可以了;

第二种方式是直接使用内置函数$GLOBALS

DEMO:

$name_str = "妈妈叫你回家吃饭啊,麦兜"; function getStr(){ /**方法一 //必须先声明其为全局变量 global $name_str; //使用全局变量 $tempt_str = 'Hello '.$name_str; * */ //方法二,使用内置函数$GLOBALS $tempt_str = 'Hello '.$GLOBALS['name_str']; return $tempt_str; } echo getStr();

2. 局部变量,定义在函数内部, 外部是无法使用的

3. 静态变量,使用static声明, 不同于普通变量, 使用后就销毁, 静态变量的值会一直存在于内存中. 进入该变量作用域后会继续最后一次使用的值

DEMO:

//-----------------使用静态变量---------------------------- function momCallU(){ static $count = 1; $count += 1; return "Mom has called u $count time(s) for dinner, Maidou<br/>"; } echo "-----------------使用静态变量----------------------------<br/>"; for($i = 0; $i<10; $i++) echo momCallU(); echo '--------------------------------------------------------<br/>'; //-------------------------使用普通变量----------------------- function momCallU2(){ $count2 = 1; $count2 += 1; return "Mom has called u $count2 time(s) for dinner, Maidou<br/>"; } echo "-----------------使用普通变量----------------------------<br/>"; for($j = 0; $j<10; $j++) echo momCallU2();

输出为:

-----------------使用静态变量---------------------------- Mom has called u 2 time(s) for dinner, Maidou Mom has called u 3 time(s) for dinner, Maidou Mom has called u 4 time(s) for dinner, Maidou Mom has called u 5 time(s) for dinner, Maidou Mom has called u 6 time(s) for dinner, Maidou Mom has called u 7 time(s) for dinner, Maidou Mom has called u 8 time(s) for dinner, Maidou Mom has called u 9 time(s) for dinner, Maidou Mom has called u 10 time(s) for dinner, Maidou Mom has called u 11 time(s) for dinner, Maidou -------------------------------------------------------- -----------------使用普通变量---------------------------- Mom has called u 2 time(s) for dinner, Maidou Mom has called u 2 time(s) for dinner, Maidou Mom has called u 2 time(s) for dinner, Maidou Mom has called u 2 time(s) for dinner, Maidou Mom has called u 2 time(s) for dinner, Maidou Mom has called u 2 time(s) for dinner, Maidou Mom has called u 2 time(s) for dinner, Maidou Mom has called u 2 time(s) for dinner, Maidou Mom has called u 2 time(s) for dinner, Maidou Mom has called u 2 time(s) for dinner, Maidou

4.可变变量

这是一种比较特殊的用法, 变量名是动态的,而不是预先设定好

//-----------可变变量--------------------- $changeable = "saysth"; $saysth = "hello, Maidou!"; echo $changeable . '<br/>'; echo $$changeable . '<br/>';

输出为:

saysth hello, Maidou!

5.预定义变量

---------------------------------------------------------------------------------------------------------------------------------------------------

变量名                                                                  说明

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['SERVER_ADDR']                    当前运行脚本所在服务器的IP地址

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['SERVER_NAME']                   ....的主机名称

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['SERVER_PORT']                 ....的端口

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['REQUEST_METHOD']       访问页面时的请求方法, 如GET, HEAD, POST, PUT

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['REMOTE_ADDR']              当前浏览的用户的IP

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['REMOTE_HOST']              ....的主机名

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['REMOTE_PORT']             ....的端口

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['SCRIPT_FILENAME']     当前脚本的绝对路径

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SERVER['DOCUMENT_ROOT']     脚本所在文档的根目录,在服务器配置文件中定义

---------------------------------------------------------------------------------------------------------------------------------------------------

$_COOKIE                                             操作COOKIE

---------------------------------------------------------------------------------------------------------------------------------------------------

$_SESSION                                          操作SESSION

---------------------------------------------------------------------------------------------------------------------------------------------------

$_GET                                                   操作GET传递的信息

---------------------------------------------------------------------------------------------------------------------------------------------------

$_POST                                                操作POST传递的信息

---------------------------------------------------------------------------------------------------------------------------------------------------

$GLOBALS                                          所有全局变量的超级

---------------------------------------------------------------------------------------------------------------------------------------------------

转载地址:http://hmyyl.baihongyu.com/

你可能感兴趣的文章
自己动手编写 IronPython IDE
查看>>
Eclipse:Eclipse平台技术概述
查看>>
OSSIM让网络攻击无所遁形
查看>>
word打开错误解决方法小笔记
查看>>
OSSIM(开源安全信息管理系统)在企业网络管理中的应用
查看>>
【Apache Mina2.0开发之一】搭建Apache Mina框架并实现Server与Client端消息传递
查看>>
Word 2003启动后如何彻底去掉缩略图
查看>>
Puppet实战-Puppet主机、模块、类、资源、变量、参数、标签命名规范
查看>>
技术总结:自动扩张WPF树型表格列宽
查看>>
使用wxWidgets for C++从资源文件中静态装载图像
查看>>
WINSTC(windows remote server/run time/remote client)自己想的b/s方案
查看>>
oc54--auatorelease应用场景
查看>>
Ext.Net全部Icon图标名称展示
查看>>
RHEL7.0 配置网络IP的三种方法
查看>>
使用endmqm 命令无法停止MQ队列管理器,怎么办?
查看>>
ArcGIS中ObjectID,FID和OID字段区别
查看>>
Linux 小知识翻译 - 「Linux和CPU的兼容性」
查看>>
docker数据拷贝
查看>>
ejs模板中的四种表达式输出形式
查看>>
innerHTML与innerText的异同
查看>>