php函数前面的&符号
函数的引用返回
先看代码 复制PHP内容到剪贴板
PHP代码:
function &test()
{
static $b=0;//申明一个静态变量
$b=$b+1;
echo $b;
return $b;
}
$a=test();//这条语句会输出 $b的值 为1
$a=5;
$a=test();//这条语句会输出 $b的值 为2
$a=&test();//这条语句会输出 $b的值 为3
$a=5;
$a=test();//这条语句会输出 $b的值 为6
下面解释下:
通过这种方式$a=test();得到的其实不是函数的引用返回,这跟普通的函数调用没有区别.
至于原因: 这是PHP的规定
PHP规定通过$a=&test(); 方式得到的才是函数的引用返回.
至于什么是引用返回呢(PHP手册上说:引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时。)
这句狗屁话 害我半天没看懂.
用上面的例子来解释就是
$a=test()方式调用函数,只是将函数的值赋给$a而已, 而$a做任何改变 都不会影响到函数中的$b.
而通过$a=&test()方式调用函数呢, 他的作用是将return $b中的 $b变量的内存地址与$a变量的内存地址,
指向了同一个地方.
即产生了相当于这样的效果($a=&b;) 所以改变$a的值,也同时改变了$b的值,所以在执行了:
$a=&test();
$a=5;
以后,$b的值变为了5
相关文档:
和很多语言不同,在PHP中使用变量之前不需要声明,只需要为变量赋值即可,PHP中的变量名称用$和标识符表示,变量名是区别大小写的。
变量赋值,是指给变量一个具体的数据数据值,对于字符串和数字类型的变量,可以通过"="来实现。
除了直接赋值外,还有两种方式来给变量声明或赋值。一种是变量间的赋值。另一种是引用赋值。 ......
- -! 真不容易啊,弄了一天,终于搞定了!
在ubuntu9.04下安装,首先要准备的东西很多,大部分是用来支持php的库,废话不多说,写这个也是为了便于我以后查看用,记忆不行,咳。。有需要的朋友也可以来去用。
在ubuntu上安装,有一个好处就是有新立得这个软件,首先先安装mysql, ......
--------------
安装pear
--------------
pear是PHP的扩展和应用程序库,包含了很多有用的类,安装好php5.0后,pear实际上并没有被安装,安装的方法如下:
1.在php目录中双击go-pear.bat。
2.按照提示输入一些设置信息, ......
header("HTTP/1.0 400 Bad Request"); 返回400错误
header("HTTP/1.0 404 Not Found"); 返回404错误
header("Location:http://$host$uri/$extra"); 跳转
//设置nocache ,过期
header
(
"Cache-Control: no-cache,
must-revalidate"
);
//
HTTP/1.1
header
(
&q ......
一、 变量命名
a) 所有字母都使用小写
b) 首字母根据变量值类型指定
i. 整数i
ii. 浮点数f
iii. 字符串s
iv. 布尔值b
v. 数组a
vi. 对象o
vii. 资源r
viii. 混合类型m
c) 使用’_’作为每一个词的分界
例如:
$i_age_max = 10;
$f_price = 22.5;
$s_name =‘harry’;
$b_flag = true;
......