(三)PHP学习笔记————基本语法:变量


创建变量

PHP没有创建变量的命令,它会在首次赋值时被创建,并且自动转换成正确的数据类型。


PHP命名规则:

  1. 变量以$符号开头,其后是变量的名称。

  2. 变量名称必须以下划线和字母开头。

  3. 变量名称只能包含字母字符和下划线。(A-z、0-9、以及 _)

  4. 变量名称区分大小写($S和$s不是同一个变量)


PHP变量作用域

  1. local(局部)

  2. global(全局)

  3. static(静态)


LOCAL 作用域和Global作用域

函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。

函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。


举一个中二的例子增进大家的了解。


<?php
       $a=1;  //全局作用域,即a是女神
       function test(){
           $b=2;//局部作用域,b是loser
           echo $a;    //现在函数里面输出变量a等于loser想找女神,但是女神跟你不是一个世界的,所以值输出为空,做梦吧!loser
                       
           echo "<br>";//换行
           echo $b;    //值为2--没有变化,还是一个人该干嘛干嘛。
           echo "<br>";
           
       }
       
       test();
       echo  $a;  //值为1,不变---时光流转,女神被高富帅抛弃了还是一个人
       echo "<br>";
       echo  $b;  //在函数外部输出函数内的变量b,输出为空--女神被抛弃了回来找loser,loser说当我傻逼啊肚子里的孩子不是我的,所以输出也为空。
       echo "<br>";
       echo "上面一行是空的!"
?>

global关键词

结合上面那个例子来讲,它的作用是让loser(局部变量b)逆袭女神(全局变量a)的法宝——成为高富帅

既用于访问函数内的全局变量

  <?php
      $a=1;  //全局变量
       function test(){
           global $b;//定义变量b为全局变量---loser变成高富帅
           $b=2;      
       }
       
       test();
       echo  $a;  //值为1
       echo "<br>";
       echo  $b;  //值为2--在函数外输出变量b不为空--既现在高富帅和女神的想怎么瞎搞就怎么瞎搞
 ?>

static关键词

一般来讲,函数执行完成后会删除所有局部变量---既高富帅上了女神就会甩掉

但是,有时候我需要不删除某个局部变量----也不排除快快乐乐的生活在一起

  <?php
       function test(){
           static $b=0;//定义变量b为静态变量
           echo $b;
           $b++;
       }
       
       test();//值为0
       test();//值为1
       test();//值为2
 ?>

大家可以去掉static体会一下它的作用。。。


本文出自 “Thales” 博客,请务必保留此出处http://thales.blog.51cto.com/7311175/1632401

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。