<?php
//第一个:
function &strAppOne() {
static $v = 0;
$v++;
echo $v.nl2br("\n");
return $v;
}
strAppOne();
$b =& strAppOne();
$b += 10;
strAppOne();
/*
函数的定义 &strAppOne() 和 $b =& strAppOne() 调用很特殊
把 返回的 $v 内存地址引用付给 $b,所以修改 $b则 $v 也变了
*/
echo "<p></p>";
/**输出:
*1<br />
*2<br />
*13<br />
*/
//第二个:
function &strAppTwo() {
static $v = 0;
$v++;
echo $v.nl2br("\n");
return $v;
}
strAppTwo();
$b = strAppTwo();
$b += 10;
strAppTwo();
/**输出:
*1<br />
*2<br />
*3<br />
*/
//第三个:
function strAppThree() {
static $v = 0;
$v++;
echo $v.nl2br("\n");
return $v;
}
strAppThree();
$b =& strAppThree();
$b += 10;
strAppThree();
/**输出:
*1<br />
*2<br />
*3<br />
*/
echo "<p></p>";
function f(){
static $a = 0;
$a++;
echo $a."<br>";
}
f();
f();
/* 输出
1
2
*/
// ######################## 关于对象 #######################
class A{
var $abc="ABC";
}
$a = new A;
$b = $a;
$a->abc = "d";
echo $b->abc;
对象的复制: $b = $a; 是 $b = &$a;这种引用传值方式 ,如果想用 对象的副本则要用 __clone
?>
//第一个:
function &strAppOne() {
static $v = 0;
$v++;
echo $v.nl2br("\n");
return $v;
}
strAppOne();
$b =& strAppOne();
$b += 10;
strAppOne();
/*
函数的定义 &strAppOne() 和 $b =& strAppOne() 调用很特殊
把 返回的 $v 内存地址引用付给 $b,所以修改 $b则 $v 也变了
*/
echo "<p></p>";
/**输出:
*1<br />
*2<br />
*13<br />
*/
//第二个:
function &strAppTwo() {
static $v = 0;
$v++;
echo $v.nl2br("\n");
return $v;
}
strAppTwo();
$b = strAppTwo();
$b += 10;
strAppTwo();
/**输出:
*1<br />
*2<br />
*3<br />
*/
//第三个:
function strAppThree() {
static $v = 0;
$v++;
echo $v.nl2br("\n");
return $v;
}
strAppThree();
$b =& strAppThree();
$b += 10;
strAppThree();
/**输出:
*1<br />
*2<br />
*3<br />
*/
echo "<p></p>";
function f(){
static $a = 0;
$a++;
echo $a."<br>";
}
f();
f();
/* 输出
1
2
*/
// ######################## 关于对象 #######################
class A{
var $abc="ABC";
}
$a = new A;
$b = $a;
$a->abc = "d";
echo $b->abc;
对象的复制: $b = $a; 是 $b = &$a;这种引用传值方式 ,如果想用 对象的副本则要用 __clone
?>