用php理解指针--写给刚刚学习编程的人

在刚刚学习编程时,可能for循环什么的还是可以理解,但是当学习到指针的时候,课上估计很多人就睡觉去了。

现在用两端php程序说明指针

先写一个简单的,大家都理解下

<?php
    class text2{
        public function inc(&$test){
            $test++;
        }
    }
    $test=1;
    $text=new text2();
    $text->inc($test);
    echo $test;
?>

这里输出的结果将会是1。

然后再添加一个&符号

<?php
    class text2{
        public function inc(&$test){
            $test++;
        }
    }
    $test=1;
    $text=new text2();
    $text->inc($test);
    echo $test;
?>

那么这里的输出将会是2

下面看看传递的数据是对象时

<?php
    class test1{
        public $name=1;
    }
    class test2{
        public function inc(test1 $test){
            $test++;
        }
    }
    $test=new test1;
    $test1=new test2();
    $test1->inc($test);
    echo $test->name;
?>

这里显示的结果是2

<?php
    class test1{
        public $name=1;
    }
    class test2{
        public function inc(test1 $test){
            $test++;
        }
    }
    $test=new test1;
    $test1=new test2();
    $test1->inc(clone $test);
    echo $test->name;
?>

这里显示的结果将会是1

也许开始时,我们将指针的理解和克隆的理解放在一起,这样就能好理解很多。

原文地址:https://www.cnblogs.com/xiashuo-he/p/3638795.html