锁定老帖子 主题:PHP学习---变量使用总结
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-03-30
常量只能包含标量数据(boolean,integer,float 和 string)。 调用常量时,只需要简单的用名称取得常量的值,而不能加“$”符号,如:echo CONSTANT; 注: 常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。 2.普通变量$a = "hello"; 3.可变变量(使用两个美元符号($)) $$a = "world"; 两个变量都被定义了: $a 的内容是“hello”并且 $hello 的内容是“world”。 因此,可以表述为: echo "$a ${$a}";或者 echo "$a $hello";它们都会输出:hello world 要将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下 $$a[1] 时,解析器需要知道是想要 $a[1] 作为一个变量呢,还是想要 $$a 作为一个变量并取出该变量中索引为 [1] 的值。解决此问题的语法是,对第一种情况用 ${$a[1]},对第二种情况用 ${$a}[1]。 4.静态变量 在函数内部static $a = 0; 注意:声明中用表达式的结果对其赋值会导致解析错误如static $a =3+3;(error) 静态变量仅在局部函数域中存在(函数内部),函数执行完之后,变量值不会丢失,可用于递归调用 5.全局变量 在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,在全局范围内访问变量可以用特殊的 PHP 自定义 $GLOBALS 数组: 如:$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"]; 在一个函数域内用 global 语句导入的一个真正的全局变量实际上是建立了一个到全局变量的引用 global $obj; 注:对于变量的 static 和 global 定义是以 应用 的方式实现的 6.给变量赋值:传地址赋值(简单引用): $bar = &$foo; //加&符号到将要赋值的变量前 改动新的变量将影响到原始变量,这种赋值操作更加快速 注意:只有命名变量才可以传地址赋值 注意:如果 $bar = &$a; $bar = &$foo; 改变$bar的值只能改变变量foo的值,而不改变a的值(引用改变了) 7.PHP 超全局变量$GLOBALS : 包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的 名称。从 PHP 3 开始存在 $GLOBALS 数组。 $_SERVER : 变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。 $_GET : 经由 HTTP GET 方法提交至脚本的变量。 $_POST : 经由 HTTP POST 方法提交至脚本的变量。 $_COOKIE : 经由 HTTP Cookies 方法提交至脚本的变量。 $_FILES : 经由 HTTP POST 文件上传而提交至脚本的变量。 文件上传表单中要有 enctype="multipart/form-data" $_ENV : 执行环境提交至脚本的变量。 $_REQUEST :经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。该数组没有直接模拟 PHP 4.1.0 的早期版本。参见 import_request_variables()。 注意: 自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在于 $_REQUEST 中。 $_SESSION :当前注册给脚本会话的变量。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-04-08
我倒是觉得APC里面的apc_store可以考虑一下,如果是比较持久稳定的数据可以存在里面,这样对系统会有一点好处
|
|
返回顶楼 | |
发表时间:2009-04-10
呵呵,蛮好,对于其他语言过来的哥们比较实用吧
|
|
返回顶楼 | |
发表时间:2009-05-18
谢了`正准备开始学PHP```
|
|
返回顶楼 | |
发表时间:2009-05-20
自从用了PHP,写的最多的一句话:
foreach ($arr as $key => $value) { |
|
返回顶楼 | |
发表时间:2009-06-22
xieye 写道 自从用了PHP,写的最多的一句话:
foreach ($arr as $key => $value) { PHP里的foreach相当好用呢,那是相当的方便! |
|
返回顶楼 | |
发表时间:2009-07-15
php语言比较简单,数组也确实比较好用。
php还有很多操作数组的函数,省去了很多麻烦。 |
|
返回顶楼 | |
发表时间:2009-07-15
可以不初始化数组变量直接
$not_init['aaa']['bbb']['ccc']='ddd'; 不会报错而且正确维护下标结构 这是我语言里见过的最白痴(褒义)的数组了…… |
|
返回顶楼 | |
发表时间:2009-07-17
从可读性考虑,还是加一句
$not_init = array(); 好一些 |
|
返回顶楼 | |
发表时间:2009-07-21
xieye 写道 从可读性考虑,还是加一句
$not_init = array(); 好一些 赞同,这样做并不是单纯的从可读性考虑, 在性能的开销上也能有所提高,就像数组的key值要不要加引号一样, 一个‘偷懒’的写法可能会给你带来意想不到的后果。 |
|
返回顶楼 | |