什么是常量?

常量是一个简单值的标识符,在脚本执行期间该值不能改变(除了所谓的魔术常量,它们其实并不是常量)。常量默认区别大小写,常量有以下特点:

  1. 常量前面没有美元符号($
  2. 常量可以在任何地方定义和访问
  3. 常量一旦定义就不能被重新定义、取消定义或者修改它的值
  4. 常量的值只能是标量(int/float/string/bool

常量分为自定义常量和预定义常量:

  1. 自定义常量使用define()函数来定义。

bool define(string $name, mixed $value [, bool case_insensitive])

  1. 预定义常量(魔术常量)
名称 说明
LINE 常量所在的文件中的当前行号
FILE 常量所在的文件的完整路径和文件名
FUNCTION 常量所在的函数名称
CLASS 常量所在的类名称
METHOD 常量所在的方法名称

什么是变量?

  1. 命名规则

变量由一个美元符号$开头,$后是一个标识符。标识符只能由字母、数字和下划线组成,并且不能以数字开头,变量对大小写敏感。

  1. 命名方式
  • 驼峰命名法(小驼峰):首个单词小写,其后每个单词首字母大写
    • 举例:$name$myName$myFatherName
  • 帕斯卡命名法(大驼峰):每个单词首字母大写
    • 举例:$Name$MyName$MyFatherName
  • 下划线分割法:每个单词小写,之间用下划线分开
    • 举例:$name$my_name$my_father_name

变量的作用域范围有哪几种?

PHP变量由三种作用域:

  1. 全局变量:全局变量可以在程序的任何地方访问
  2. 局部变量:在函数内部声明的变量就是局部变量,函数的参数也是局部变量,局部变量的作用域是函数内部。
  3. 静态变量:局部变量在函数调用结束后就会消失,而静态变量则不同,静态变量在函数调用结束后不会消失,而且在下次调用时还能保留这个值。

引申:如何实现数据的共享?

  1. 将数据存于数据库中
  2. 将数据存于memcache/redis
  3. 将数据存于一个服务器的文件中