每天5分钟,细读PHP手册-4

版权声明:欢迎转载,请附上原文链接 https://blog.csdn.net/hfut_wowo/article/details/88820272

变量

php中的变量是用一个美元符号后面跟着变量名来表示,变量名是区分大小写的。

  • $this 是一个特殊的变量,它不能被赋值;
  • php的变量赋值默认是传值赋值,可以使用&来实现引用赋值;
  • 只有有名字的变量才可以引用赋值;
  • 未初始化的变量具有其类型的默认值 - 布尔类型的变量默认值是 FALSE,整形和浮点型变量默认值是零,字符串型变量(例如用于 echo 中)默认值是空字符串以及数组变量的默认值是空数组;
  • 注意到点(句号)不是 PHP 变量名中的合法字符

变量范围

  • 在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内。
  • 函数内部,修改变量范围至全局的方法有:使用global和$GLOBALS数组;
  • 静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失;
  • 静态声明是在编译时解析的,所以在声明中用表达式的结果对其赋值会导致解析错误;
  • 在函数之外使用 global 关键字不算错。可以用于在一个函数之内包含文件时;
  • 对于变量的 static 和 global 定义是以引用的方式实现的。例如,在一个函数域内部用 global 语句导入的一个真正的全局变量实际上是建立了一个到全局变量的引用。这有可能导致预料之外的行为;

可变变量

  • php支持可变变量,这很方便,这意味着一个变量的变量名可以动态的设置和使用。
  • 要将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下 KaTeX parse error: Can't use function '$' in math mode at position 19: …] 时,解析器需要知道是想要 $̲a[1] 作为一个变量呢,还是…a 作为一个变量并取出该变量中索引为 [1] 的值。解决此问题的语法是,对第一种情况用 KaTeX parse error: Expected '}', got 'EOF' at end of input: {a[1]},对第二种情况用 KaTeX parse error: Expected '}', got 'EOF' at end of input: {a}[1]。

超全局变量

  • 超全局数组例如 $_POST 和 $_GET,自 PHP 4.1.0 起可用。
  • 变量名中的点和空格被转换成下划线。例如 <input name="a.b" /> 变成了 $_REQUEST["a_b"]

常量

常量在脚本执行期间该值不能改变,范围是全局的。

猜你喜欢

转载自blog.csdn.net/hfut_wowo/article/details/88820272