PHP 引用传递的一些疑问

引用传递的概念就不解释。
在实际操作中我大多数都在使用在闭包的use中或者函数传值中

不过我看见了codeigniter框架使用了引用函数返回,之后有些疑问,我记得PHP类传值到函数中是实际传值,并不是副本的。那么返回应该也不是副本吧。为什么ci还要这样写,实际测试之后,不加&返回的视乎是副本(未使用&的情况下,外面的变量发生了变化,函数内的变量类是不会发生变化的。如果函数返回也到达到引用传递的效果,那么应该使用&),测试证明ci的写法是有必要的。

// ci
function &load_class(){}
$bm =& load_class('xxx');

测试函数返回 202101191001.png

测试变量传递 202101191002.png