2. PHP变量
2016-04-15 14:48
337 查看
1. 形式:必须以$
开头,后面紧跟变量名
注意:通常在”能够出现”变量的语法中,只要出现$符号,并在其后面出现紧挨着的字符,就会被识别为一个变量,即使不存在该变量,例如:
可以通过
{}来解决这个问题
<?php echo "$info['username']你好";//这里会有问题需要使用{}定界符将变量名包起来
2. empty()和isset()区别
如果empty()函数的参数是非空或非零的值,则empty()返回false,即”“,0,”0”,null,false,array(),var $var;以及没有任何属性的对象都将会被认为是空的。如果参数为空,则返回true;
如果
isset()参数存在,则返回true,否则返回false.如果使用isset()测试一个被设置成null的变量或使用unset()释放一个变量,将返回false.同时注意的是一个null字节,即
("\0")并不等于PHP的NULL常数。这里推荐使用
!empty($var)的形式判断一个变量存在且不为空
3. 引用
通过引用形式将两个变量相关联起来。变量名不同,但是同时映射至同一个变量值。用unset()取消的只是映射关系,所以使用unset()则不会导致所有引用变量消失<?php $foo = 25; $har = &$foo;//这是一个有效的引用赋值 unset($bar); //不会使$foo变量消失 echo $foo; //显示25
4. 变量测试函数
除了常用的那几个is_type形式的函数,还应注意:is_scalar():判断是否是标量,即整数,浮点数,布尔型或字符串
is_callable():判断是否是有效的函数名
5. 预定义变量
1:预定义变量又叫超全局变量包括:$_GET,
$_POST,
$_SERVER,
$_REQUEST,
$GLOBALS,
$_COOKIE,
$_SESSION, ……….(大约10个)
作用域问题。php中,自定义的变量作用域,分为两种:全局作用域(函数外),局部作用域(函数内)。但预定义变量的作用域称为“超全局作用域”:全局作用域+局部作用域的总和(函数内外全都可用)
数据类型问题:超全局变量都是数组!
5.1 $_GET变量
形式一:<form action=”abc.php” method=”get” > 项目1: <input type=”text” name=”uName” /> 项目2: <input type=”password” name=”uPswd” /> <input type=”submit” value=”提交” /> </form>
形式二:
<a href=”abc.php?uName=test1&uPswd=123” > 文字。。。</a>
形式三:
<script> location.href = “abc.php?uName=test1&uPswd=123”; //利用location对象的属性href </script>
形式四:
<script> location.assign( “abc.php?uName=test1&uPswd=123”); //利用location对象的方法assign() </script>
5.2 $_POST变量
<form action=”abc.php” method=”post” > 项目1: <input type=”text” name=”uName” /> 项目2: <input type=”password” name=”uPswd” /> <input type=”submit” value=”提交” /> </form>
通常,网页中的form表单,一般都用post方式,get方式主要体现在其他三种形式
5.3 $_REQUEST变量
当get数据和post数据同时提交并且其中有重名的时候说明
尽量避免重名
如果重名了,此时$_REQUEST只会记录(存储)其中一个数据(要么post数据,要么get数据)
至于记录哪个,由php.ini中的一个设置项决定
request_order="GP"//默认值,G代表GET,P代表POST
含义是:先存储GET数据,再存储POST数据
可见,如果重名,则POST就会覆盖GET数据
改为:
request_order="PG,顺序反过来
GET,_GET,_POST,$_REQUEST三种数据是相互独立的,即如果unset一个数据的话,其他不受影响
5.3 $_SERVER变量(数组)
常用的有:REMOTE_ADDR:用户的IP地址
SERVER_ADDR:服务器端的IP地址
SERVER_NAME:服务器名(主机名)
DOCUMENT_ROOT:站点绝对路径(其实就是主机设置中的DocumentRoot)
PHP_SELF:当前网页的文件路径
QUERY_STRING:表示一个get请求的整体字符串,即”
http://www.study.com/abc.php?a=5&b=10“链接地址中的”a=5&b=10”
5.4 $GLOBALS变量
包含我们自定义的所有全局变量<?php $v1 = 1; $v2 = 2; function f1(){ $v3 = 3; $v3 = 4; echo "调用了函数f1"; } f1(); var_dump($GLOBALS);//其中只有$v1和$v2,$v3和$v4没有在$GLOBALS中
相关文章推荐
- windows下elasticSearch以及elasticSearch-php安装及使用
- php CI框架 使用PDO 的连接配置
- Github上的PHP资源汇总
- yii根据id查询一条数据
- H264编码 封装成MP4格式 视频流 RTP封包
- yii2查询数据倒序显示
- 1. PHP基本语法形式
- matplotlib 安装
- PHP session的工作原理
- [php]如何让cookie实现跨域问题的源代码实例
- php中ajax实战购物车添加商品
- php小白容易出现的 strpos 逻辑错误
- Cannot find autoconf
- PHP 布尔假值情况
- laravel 获取最后一条sql的小函数
- Tp使用phpexcel导入导出excel
- yii2.0使用ActiveForm
- mac下如何安装不同的php版本以及如何进行切换
- 简述MVC思想 与PHP如何实现MVC
- PHP中的MVC