PHP5学习笔记-变量
来源:互联网 发布:php __get 编辑:程序博客网 时间:2024/06/06 07:06
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, MaidouMom has called u 3 time(s) for dinner, MaidouMom has called u 4 time(s) for dinner, MaidouMom has called u 5 time(s) for dinner, MaidouMom has called u 6 time(s) for dinner, MaidouMom has called u 7 time(s) for dinner, MaidouMom has called u 8 time(s) for dinner, MaidouMom has called u 9 time(s) for dinner, MaidouMom has called u 10 time(s) for dinner, MaidouMom has called u 11 time(s) for dinner, Maidou-------------------------------------------------------------------------使用普通变量----------------------------Mom has called u 2 time(s) for dinner, MaidouMom has called u 2 time(s) for dinner, MaidouMom has called u 2 time(s) for dinner, MaidouMom has called u 2 time(s) for dinner, MaidouMom has called u 2 time(s) for dinner, MaidouMom has called u 2 time(s) for dinner, MaidouMom has called u 2 time(s) for dinner, MaidouMom has called u 2 time(s) for dinner, MaidouMom has called u 2 time(s) for dinner, MaidouMom has called u 2 time(s) for dinner, Maidou
4.可变变量
这是一种比较特殊的用法, 变量名是动态的,而不是预先设定好
//-----------可变变量--------------------- $changeable = "saysth"; $saysth = "hello, Maidou!"; echo $changeable . '<br/>'; echo $$changeable . '<br/>';
输出为:
saysthhello, 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 所有全局变量的超级
---------------------------------------------------------------------------------------------------------------------------------------------------
- PHP5学习笔记-变量
- php5学习笔记之变量
- PHP5学习笔记
- PHP5学习笔记
- PHP5 学习笔记
- PHP5 学习笔记
- PHP5学习笔记
- PHP5学习笔记
- PHP5学习笔记-class
- PHP5学习笔记-注释
- PHP5学习笔记-数据类型
- php5学习笔记之数组
- php5学习笔记之常量
- php5学习笔记之函数
- php5学习笔记之字符串
- php5学习笔记之文件系统
- php5学习笔记之XML
- PHP5权威编程 学习笔记
- rotate/rotate_copy详解
- xproto xextproto xtrans xcb >= 1.1.92 kbproto inputproto for android done.
- 移动应用设计中应避免的十种错误
- 程序人生--一个程序员对学弟学妹建议
- random_shuffle
- PHP5学习笔记-变量
- 分享8年开发经验,浅谈个人发展经历,明确自己发展方向
- SAP破解 Maintenance Certificate
- partition/stable_partition详解
- 【Coding】程序员每天该做的事 ,收藏着
- 极大似然估计的朴素理解
- 设计模式随笔系列:开篇-模式和原则
- 时间表-感悟
- [unix系统编程]读者-写者问题