PHP变量

27 篇文章 0 订阅

变量是存储数据的容器

PHP 变量规则:

  • 变量以 $ 符号开头,其后是变量的名称
  • 变量名称必须以字母或下划线开头
  • 变量名称不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

注释:PHP 变量名称对大小写敏感!

//转载自w3cschool

php支持${"MyVar"}这类命名格式。

当一个变量没有赋初值时,这个变量为Null型,值等价于0,false,''。

php的变量分为全局变量与局部变量

在函数内部定义的变量为局部变量,在函数外部定义的变量为全局变量。

局部变量的作用域在函数内部,全局变量的作用域在函数外部。

若要在函数内部调用全局变量,需要在变量前加global关键词声明或者$GLOBALS['要调用的全局变量的名称']。

php中常用的超全局变量

1.$_GET,get传送方式。

2.$_POST,post传送方式

3.$_REQUEST可以接收到get和post两种方式的值

4.$GLOBALS所有的变量都放在里面

5.$_FILES上传文件使用

6.$_SERVER系统环境变量,返回服务器的信息

7.$_SESSION会话控制,获取session的值

8.$_COOKIE会话控制,获取cookie的值

下面的程序选自php面试题中,坑点较多,特此记录。

$a=0;
$b=0;
//$a=3||$b=3;
if($a=3||$b=3)
{

    $a++;
    $b++;
}
var_dump($a);
var_dump($b);
//echo $a=3|$b=4;
if($a=3|$b=3)
{
    $a++;
    $b++;
}
$a=$b;
//unset($b);
var_dump($a);
var_dump($b);

上述程序的运行结果为:

程序分析:

第一个if中的“$a=3||$b=3”可以看做"$a=(3||$b=3)",括号内的3为真所以根据短路定理不执行$b=3,所以$b此时仍然为0,而此时||运算符的返回值为true,赋值给a,因此a从整型变为布尔型,值为true,true++仍为true,所以输出值为1,而b++变为1。

第二个if中的“$a=3|$b=4”可以看做"$a=(3|$b=3)",所以a=3,b=3。(“|”位或运算符,执行两边的语句),之后a++,b++,则结果为a=4,b=4。

在用变量给变量赋值时需要注意有无&,例如将变量a赋值给变量b若有&则是将变量a的值赋值给变量b,如果删除了变量a则不会影响到变量b,但如果没有带&,则是将变量a指向值存储地址的指针赋值给变量b,意味着a与b指向同一片内存空间,若删除了a则b错指向的内存就为空,程序运行时会提出警告。

注:当给变量赋整型时若数字为“0123”之类的格式时,会按8进制运算,如果为“0x123”,会按16进制来运算。

检验变量是否存在使用isset()函数。

变量使用unset()函数删除。

检测变量是否为空使用empty()函数。

引用符&与指针的区别在于指针是一个实体,而引用只是只内存块的别名。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值