php 引用

来源:互联网 发布:截取视频片段软件 编辑:程序博客网 时间:2024/06/10 20:04
<?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*/


// 在对象上面
class talker{


    private $data = 'Hi';


    public function & get(){
        return $this->data;
    }
   
    public function out(){
        echo $this->data;
    }   


}


$aa = new talker();


$d = &$aa->get();
// 这里的$aa->get()得到数据地址,前面在一个&是把得到数据的地址赋值给$d,如果不加,就只把地址对应的值copy一份给$d了
// 和变量赋值一样道理, $a = $b;  $a = &b;
$aa->out();
$d = 'How';
$aa->out();
$d = 'Are';
$aa->out();
$d = 'You';

$aa->out();


在如下:

class father{
    public static $a = 5;
    public function __construct()
    {
        echo 'a';
    }
    public function &factory()
    {
        //$a++;
        return self::$a;
    }
}
//$obj = new father();
//$b = &$obj->factory();
$b = father::factory(); // 注意这里如果 &father::factory(); $m 等于6
$b ++;
echo $b;
$m = father::factory();
echo $m;


//$obj1 = $obj;
//$c = &$obj1 -> factory();
//echo $c;

//php 对象,是当脚本运行完,才会自动释放对象

?>
原创粉丝点击