是否需要在对象前面使用&符号?

2023-11-24

由于现在默认情况下对象是通过引用传递的,因此是否可能存在一些特殊情况&$obj有道理吗?


对象使用不同的引用机制。&$object更多的是参考中的参考。你无法真正比​​较它们。 看对象和引用:

PHP 引用是一个别名,它允许两个不同的变量写入相同的值。从 PHP 5 开始,对象变量不再包含对象本身作为值。它只包含一个对象标识符,允许对象访问器找到实际的对象。当一个对象通过参数发送、返回或分配给另一个变量时,不同的变量不是别名:它们保存指向同一个对象的标识符的副本。

&$object是其他东西$object。我给你举个例子:

foreach ($objects as $object) {
    if ($cond) {
        $object = new Object(); // This won't affect $objects

    }
}

foreach ($objects as &$object) {
    if ($cond) {
        $object = new Object(); // This will affect $objects

    }
}

如果有道理或者有必要的话我不会回答这个问题。这些是基于意见的问题。你绝对可以没有&对对象的引用,就像根本没有对象一样。两种机制的存在是 PHP 向后兼容性的结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否需要在对象前面使用&符号? 的相关文章

  • 如何在没有引用的情况下复制对象?

    PHP5 OOP 有据可查对象通过引用传递 http php net manual en language oop5 references php默认情况下 如果这是默认的 在我看来 有一种非默认的方式可以在没有参考的情况下进行复制 如何
  • 将数组拆分为特定数量的块

    我知道array chunk 允许将数组拆分为多个块 但块的数量根据元素的数量而变化 我需要的是始终将数组拆分为特定数量的数组 例如 4 个数组 以下代码将数组分为 3 个块 两个块各有 2 个元素 1 个块有 1 个元素 我想要的是将数组
  • php下拉菜单人口

    我正在尝试编写一个 php 脚本 该脚本将根据主下拉菜单的选择填充第二个下拉菜单 我想使用 jquery 来完成所有非页面刷新的事情 但我发现现有的所有东西都很难理解和修改 你知道有什么写得很好且易于理解的东西吗 或者可能是现有的教程 下面
  • 如何使用 Google 帐户对我们网站中的用户进行身份验证

    如何在我们的网站中使用 Google 帐户对用户进行身份验证 我希望用户重定向到谷歌登录页面 然后将他重定向到我的网站 我想要这个 PHP 实现 你要OAuth http code google com apis accounts docs
  • 如何在 Zend Framework 中处理移动设备?

    我接手了一个噩梦般的项目 我正在迁移一个写得很差的站点 并慢慢地将其迁移到 Zend Framework 应用程序中 不幸的是 我没有时间做补救工作 使这变得可以忍受 也许是一个或两个模型 我现在被告知该网站很快就会有移动版本 建议是克隆旧
  • 如何确定当前使用哪个网格选项

    我将 Bootstrap 3 用于使用 PHP 和 HTML 创建的网页 随着响应式网格和类的开启引导程序3您可以将多个类分配给一个 div 以根据当前屏幕尺寸定义不同的宽度 例如 div class col lg 3 col md 3 c
  • 如何将行变成列?

    我有一个数据库 其中存储分组到项目中的关键字以及与每个关键字相关的数据 然后我显示每个项目的数据网格 每个关键字一行和几列 全部从同一个表 数据 中检索 我有 4 个表 关键字 项目 group keywords 和数据 keywords
  • Facebook api 回调的上下文?

    有没有办法在 javascript facebook sdk api 回调中传递上下文 这是一个简单的例子 现在这不起作用 因为我的回调函数中的变量 this name 将是未定义的 因为它不在我的用户对象上下文中 知道怎么做吗 funct
  • 创建 Facebook 测试用户时访问令牌出现问题

    我正在尝试为我的 Facebook 应用程序创建测试用户 他们在 11 月份的博客文章 http developers facebook com blog post 429 中宣布了此功能 并在此处记录了该功能 http developer
  • Yii2 中 init() 和 __construct() 方法有什么区别

    init 方法 public function init construct method public function construct 那么 它们之间有什么区别 应该使用哪一个呢 init 是从以下对象扩展的任何对象的方法yii b
  • 使用 NSError 检查错误的正确结构

    我正在编写各种例程 并尽力保持其整洁和重构 我正在创建的方法开始看起来与此代码类似 IBAction buttonPress id sender Create Document Shopping List with this documen
  • 选取散列第 N 个元素的最快方法

    我有一个大哈希表 带有字符串索引的数组 并正在寻找一个函数quickly从中选取第一个 理想情况下也是第 N 个 元素 array shift and reset 对于我的需求来说太慢了 UPDATE 我也不是在寻找基于引用的解决方案 该函
  • 如何在 Twitter Card 中传递动态图像路径?

    我在用
  • CSS 无法从带有 php“includes”的相对路径工作

    文件夹结构 index php includes header html css style css 我的主项目文件夹中有 2 个子文件夹 一个是名为 includes 的文件夹 另一个名为 css 我有我的 index php主文件夹中的
  • Windows iis 7.0 上的 APC 不稳定

    我的 IIS 非常不稳定 因为它总是由于某种与 APC 相关的原因而重新启动 服务器的规格如下 Intel R Xeon CPU 3GHZ 3GHZ 2GB RAM 64bit APC 和服务器规格 3 1 7 dev PHP Versio
  • phpinfo 说 php.ini 路径是 C:\Windows 但那里没有 php.ini

    我们正在尝试从 PHP5 切换到 PHP7 现在我们已经安装了 Apache 并且 PHP 可以运行了 然而 我们在php ini文件没有任何作用 Via phpinfo 我们意识到原因是Configuration File php ini
  • PHP 错误:“无法通过引用传递参数 2”

    我只是需要有关这个 PHP 错误的帮助 我不太明白 致命错误 无法在第 13 行 web stud openup inactivatesession php 中通过引用传递参数 2
  • 使用 fopen() 包装器创建 ZIP 文件

    如何使用以下命令创建 ZIP 文件fopen 包装器 http es php net manual en wrappers compression php 这显然是not道路
  • 使用 PHP 和 OAuth 访问 SkyDrive

    我想使用 PHP 访问 skyDrive 我想检索文件和文件夹列表 下载 上传和删除文件 我有一个 microsoft dev clientID 和 clientSecret 有人可以帮助我开始使用 OAuth 连接到 skyDrive 并
  • 谷歌日历手表过期时间超过1个月怎么办?

    我将我的 CRM 系统与 Google 日历同步 为此 我要求push notifications从我的用户 Google 日历到我的系统 我已经成功创建了手表 并将过期时间设置为2030年 但是当我收到手表事件的响应时 它显示手表的过期时

随机推荐

  • 如何使用 EmberData 返回由 EmberJS 中的嵌套模型组成的 Promise?

    环境 Ember 1 4 0 Ember Data 1 0 0 beta 7 canary b45e23ba Model 我简化了我的用例 使问题更容易理解和回答 假设我们有 3 个模型 Country Region and Area Co
  • 如何在 Visual Studio 2015 中设置代理

    我正在使用 Visual Studio 2015 进行 Xamarin 应用程序开发 并且我正在公司代理后面工作 我需要将代理 http 代理 设置为 Visual studio 2015 那么如何获得这样的窗口来设置代理 Find dev
  • 如何禁用 PyTorch-Lightning 记录器的日志记录?

    PyTorch Lightning 中的记录器打印有关要训练 或评估 的模型以及训练过程中的进度的信息 但是 就我而言 我想隐藏记录器中的所有消息 以免淹没输出Jupyter Notebook 我在官方文档页面上查看了 Trainer 类的
  • OS X 终端 UTF-8 问题

    好吧 在使用 Linux 15 年后 我终于给自己买了一台 MacBook Air 在我得到它之前 我最关心的是 UTF 8 支持 因为无论我从 Windows 还是 mac 客户端发送给我的文件 总是存在编码问题 而在 ubuntu 上
  • AlarmManager 在 S5 Neo 的睡眠模式下无法按预期工作

    我在服务中使用 AlarmManager 每分钟触发一次 PendingIntent pendingIntent PendingIntent getService getApplicationContext 0 getUpdateServi
  • 修复指定 PU 时出现的“无法解析持久性单元...”错误

    截至今天 2010 11 12 我正在运行 Glassfish 3 1 SNAPSHOT 我正在使用嵌入式 EJBContainer 在类路径上 如 EJBContainer 所报告的 我有一个 META INF persistence x
  • Eclipse:在导出为可运行 jar 时包含源代码

    我了解如何在 eclipse 中创建可运行的 jar 文件时包含其他所需的库或外部资源 但我没有看到也包含 src java 文件的选项 我怎样才能做到这一点 In the Export gt Jar File对话框中您可以选择包含源文件和
  • Java文件上传到MySQL [重复]

    这个问题在这里已经有答案了 我有这个问题java io File从选择一个JFileChooser上传上述内容java io File具有此表结构的 MySQL 表的对象 COL NAME COL TYPE ATTRIBUTES EXTRA
  • 数组中成员的默认值是多少?

    我像这样实例化一个数组 int array new int 4 这四个成员的默认值是多少 是null 0还是不存在 它是 0 它不能为 null 因为 null 不是有效的int value 来自 C 5 规范第 7 6 10 4 节 新数
  • 如何将拖放事件侦听器附加到 React 组件

    我正在构建一个允许将本地文件拖放到 div 上的组件 然后输出有关已删除文件的信息 我的问题是我不知道如何正确附加事件监听器drop and dragover创建我的组件时 我的应用程序组件是我所有逻辑所在的位置 放置和拖动的处理程序 我创
  • 原则 2 - 使用数据库中的视图生成实体

    是否可以使用 Doctrine 2 从数据库生成视图 我解释 我的数据库包含一些我想要使用的视图 但我不知道如何生成这些视图 就我而言 我有两个表和一个视图 该视图在每个表中选择几列 我只想将此视图放在项目的文件夹 Entity 中 Dat
  • 使用 Google Compute Engine 上的应用程序默认凭据访问 Sheets API

    ADC 应用程序默认凭据 工作流程是否仅支持 Google Cloud API 例如 支持 Google Cloud Storage API 但不支持 Google Sheet API 我指的是google auth 的默认方法 不必在代码
  • 绑定参数在 SQLite3 中如何工作(用最少的示例)?

    有人建议在 SQLite 中使用参数绑定来加速重复查询 但是 如果我有多个绑定参数 它就不起作用 我没有看到我的错误 所有 SQLite 函数都返回 SQLITE OK 下面 我写了一个最小的例子 它创建一个表 创建三个条目 然后查询两次
  • 如何调用 Oracle PL/SQL 对象超级方法

    我想调用一个重写的 PL SQL 方法 这是一个例子 super class create or replace type test as object n number member procedure proc SELF in out
  • 从特定列中选择值并跳过 R 中的 NA 值

    我正在处理癌症登记数据 在以下数据示例 ex data 中 变量id and 诊断 yr代表癌症诊断的 ID 和年份 列x 2005 to x 2010 and y 2005 to y 2010分别代表每年 2005年至2010年 的x和y
  • 如何从 log4j 附加程序中排除包

    我有配置文件 log4j properties 请参阅下面的包和最后的问题 com bitguiders package1 com bitguiders package2 com bitguiders package3 com bitgui
  • 分配给事件的 lambda 是否会阻止所属对象的垃圾回收?

    假设您有一个具有事件属性的类 如果您在本地上下文中实例化此类 而没有外部引用 则为事件分配 lambda 表达式是否会阻止该实例被垃圾回收 var o new MyClass o MyClassEvent args gt Will o be
  • 在 Angular 6 中使用 HTML 锚链接片段

    我正在处理一个 Angular 6 项目 其中我已禁用 删除了 hash location strategy 该策略从 URL 中删除了 由于此更改 链接具有 li a Contact Settings a ul class child l
  • 从返回引用的函数提前返回的最佳方法

    假设我们有一个以下形式的函数 const SomeObject SomeScope ReturnOurObject if SomeCondition return early return return ourObject 显然上面的代码有
  • 是否需要在对象前面使用&符号?

    由于现在默认情况下对象是通过引用传递的 因此是否可能存在一些特殊情况 obj有道理吗 对象使用不同的引用机制 object更多的是参考中的参考 你无法真正比 较它们 看对象和引用 PHP 引用是一个别名 它允许两个不同的变量写入相同的值 从