<script>ec(2);</script>
亲密接触PHP之变量、常量学习笔记(阅读笔记自PHP手册)PHP 中一个美元符号($)后面跟上一个变量名称,即表示一个变量。变量的名称是对大小写敏感的。其中变量名
允许数字或下划线打头。
有关变量的传地址赋值PHP 3 中,变量总是传值赋值。PHP 4 提供了另外一种方式给变量赋值:传地址赋值。使用
传地址赋值,即简单地
追加一个(&)符号到将要赋值的变量前(源变量)。这意味着新的变量简单的引用了原始变量,
改动新的变量将影响到原始变量,反之亦然。
$foo = ''Bob''; $bar = &$foo; $bar = "My name is $bar"; echo $bar; echo $foo; ?>
|
变量foo只在首行被赋值,正常应输出为“Bob”,然而传址赋值给变量bar,在变量bar值发生变化的同时,变量foo的值也发生了变化。
关于(超)全局变量PHP全局变量的声明是在引用变量时声明的,而非在程序首行定义、赋值变量时来定义是全局还是局部变量。
$a = 1; $b = 2;
function Sum() { global $a, $b; $b = $a + $b; }
Sum(); echo $b; ?>
|
如果函数Sum()内没有使用global声明全局变量,程序会报错未定义的变量。
当然,在PHP中还有一些变量在某程序功能范围内是不需要global声明,这些变量称为
超全局变量,而这些超全局变量基本都不是用户自定义的,而是PHP预定义的一些变量,比如 $_GET、$_POST、$_COOKIE等。
有关可变变量PHP中比较有意思的可变变量,比如 $a="bruce" ,还可以使用 $$a 表示为 $bruce ,即可变变量是使用的两个美元符号。
但其中在 $$a[1] 中,是 $a[1] 作为一个变量,还是 $$a 作为一个变量并取出该变量中索引为 [1] 的值?
这里没有前后的依次关系,而是使用 ${$a[1]} 或 ${$a}[1] 来表示上述两种情况。
=========================================================
关于常量常量区别于变量,从常量被定义起其范围就是全局的
量默认为大小写敏感,按照惯例常量标识符总是大写的
常量前面没有美元符号($)
常量一旦定义就不能被重新定义或者取消定义
常量只能用 define() 函数定义,而不能通过赋值语句
比如 define("MYNAME","cnbruce") 就是定义了一个值为“cnbruce”的MYNAME常量
define("MYNAME","cnbruce"); $MYNAME="cnrose"; echo MYNAME; echo $MYNAME; ? |
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn