首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP 引用是个坑,请慎用

    ; // 对『对象』进行操作 $a->foo = 42; var_dump($a->foo); // int(42) var_dump($b->foo); // int(42) var_dump($c-...> 显然,上面这段代码的第一个问题是:在循环中调用 strlen() 而不是使用已经计算好的长度。也就是说调用一次 strlen($data) 就可以了的,但是他却调用了很多次。...所以就 strlen() 而言,这还不算太糟糕。但现在另一个问题是,案例中的这个开发者为了节省时间,传递了一个引用作为参数以显示自己的聪明。然而,strlen() 期望得到的是一个副本。...『写时复制』不能用于引用,因此 $data 将会在 strlen() 调用时被复制,strlen() 将会做一个绝对简单的操作 —— 事实上 strlen() 本来就是 PHP 里最简单的函数之一 ——...而且就算 strlen() 支持引用,你也不会因此获得更多好处。 总的来说: 除了 PHP4 的遗留问题,不要在面向对象(OO)中使用引用。 不要使用引用来提升性能。

    1.2K20
    领券